Hak*_*llo 9 java eclipse jar saaj
为了测试应用程序,我正在创建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之后无法找到这个类.任何提示或方向都会大大减少.
Man*_*pos 16
我在项目中添加了以下依赖项:
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.5.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然后我META-INF/services/javax.xml.soap.SAAJMetaFactory
使用以下行创建了该文件,以提供SAAS工厂类的完全限定名称,并且它有效:
com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl
Run Code Online (Sandbox Code Playgroud)
该javax.xml.soap.saaj-API似乎被弃用.
归档时间: |
|
查看次数: |
8210 次 |
最近记录: |