我收到以下错误:
com.sun.xml.messaging.saaj.soap.MessageFactoryImpl cannot be cast to javax.xml.soap.MessageFactory
有没有办法强制使用saaj-api中的MessageFactory而不是javaee-api中的那个?至少我认为可能需要做的事情。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.3.15</version>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>saaj-api</artifactId>
<version>1.3.5</version>
</dependency>
<prefer-application-packages>
<package-name>javax.xml.soap.*</package-name>
<package-name>javax.xml.ws.*</package-name>
<package-name>com.sun.xml.messsaging.saaj.*</package-name>
</prefer-application-packages>
答案 0 :(得分:1)
一般来说,您不希望在您的war / ear文件中打包API,因为它们应由应用程序服务器提供。我会将范围设置为在这两个api依赖项上提供,并从那里开始工作。