我经历了很多反复试验才能找到答案(至少是我问题的答案)。我希望这个解决方案也能解决你的问题。正如另一篇文章中提到的,不包括 jms 库作品。但是如何排除 jms 库并且仍然能够编译代码呢?那是一件似乎没有人提到过的事情。解决方案是将 jms 库的范围设置为“提供”(如果您使用的是 Maven 或 Gradle)。
如某处所述:
“已提供意味着您需要 JAR 进行编译,但在运行时环境已经提供了一个 JAR,因此您不需要将它与您的应用程序一起打包。对于 Web 应用程序,这意味着 JAR 文件不会被放到WEB-INF/lib目录下。”
所以在你的 pom.xml 添加/更新这些:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>4.3.4.RELEASE</version>
<exclusions>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
希望这对那些因缺乏互联网答案而感到沮丧的人有所帮助。
删除所有 ibm 库。他们没用。一旦你部署到 Websphere 上,它无论如何都会使用它的库。