打包为 JAR 后无法创建 SAAJ 元工厂
为了测试应用程序,我正在创建 SOAP 消息。当直接从Eclipse(Oxygen.1a)运行时,这是有效的,但是在打包为可运行的jar(选项:将所需的库打包到生成的jar中)之后,我得到以下错误:
javax.xml.soap.SOAPException: Unable to create SAAJ meta-factoryProvider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:94)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:138)
触发者:
MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
所以我明白MessageFactory使用sun包
static private final String DEFAULT_META_FACTORY_CLASS =
"com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl";
但是我绝对不知道为什么它在打包到可运行的JAR后找不到这个类。任何提示或指示都将大大赞赏。