为了测试应用程序,我正在创建SOAP消息.这可以直接从Eclipse(Oxygen.1a)运行,但在打包为runnable 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)
Run Code Online (Sandbox Code Playgroud)
触发:
MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
Run Code Online (Sandbox Code Playgroud)
所以我理解MessageFactory使用sun包
static private final String DEFAULT_META_FACTORY_CLASS =
"com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl";
Run Code Online (Sandbox Code Playgroud)
但是我绝对无能为力地知道为什么它在打包到可运行的JAR之后无法找到这个类.任何提示或方向都会大大减少.