【发布时间】:2023-03-23 12:08:01
【问题描述】:
在 Tomcat9 上启动我的应用程序时遇到的具体错误。春季版:5.1.5.RELEASE:
SEVERE: Error configuring application listener of class [org.springframework.web.context.request.RequestContextListener]
java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceRef
关于这个错误有多个答案都建议添加 maven 依赖项。我添加了这些依赖项:
我的构建路径:
WebServiceRef 类位于包资源管理器中:
在 Tomcat9 上启动应用程序时,控制台会显示此错误。这是更多的堆栈跟踪:
SEVERE: Error configuring application listener of class [org.springframework.web.context.request.RequestContextListener]
java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceRef
at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:303)
...more stuf....
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
任何帮助或建议将不胜感激!
更新 1: 下面是一些 .jar 文件,它们被复制到 WEB-INF/lib 下的最终 .war 构建中。 4 个新的 maven 依赖项及其版本在这里,但也有可能重复的 .jar 文件。
更新 2: 将jaws-api jar 直接复制到我的Tomcat 类路径中解决了运行时错误...所以应用程序现在正在启动,但是在实际部署.war 文件时我该如何克服这个问题?
【问题讨论】:
-
能否请您通过
mvn help:effective-pom显示您的有效pom.xml? -
很大,里面有没有你特别要找的东西?
-
我正在寻找导致您的 jaxb 无法进入最终
*.jar或*.war*的状态的覆盖。您能否交叉检查上述依赖项是否真的存在于您最终捆绑/打包的工件中? -
我更新了我的问题,截图显示了构建后复制到 .war 文件中的一些内容。
-
嗯...看起来不错。下一个方法:尝试将提到的四个库直接复制到 Tomcat 的
lib文件夹中,看看发生了什么。
标签: java spring maven docker tomcat