gpt4 book ai didi

jakarta-ee - 如何避免 WebappClassLoader.findResources 中的 NullPointerException?

转载 作者:行者123 更新时间:2023-11-28 21:49:25 31 4
gpt4 key购买 nike

当使用 manager-app 重新部署特定的 webapp 时,由于 WebappClassLoader.findResources(下面的 Stacktrace),下一次调用会导致“NullPointerException”。重启 tomcat 后,应用程序将顺利运行。

翻遍网络,这个问题似乎很普遍,但没有具体的解决方案。对我来说,这只是在部署一个特定的网络应用程序时引起的。与某些邮件列表相关,它可能是一个包含在 shared/libs/中但不应该包含在/WEB-INF/libs/中的 jar(例如 axis.jar)

为了构建和部署我使用 maven 的 webapp,它适用于所有其他应用程序,但这个应用程序除外。本项目的项目配置与其他项目没有区别。

我可以做一些事情来找出 tomcat“崩溃”的原因吗?!有人有解决这个问题的想法吗?!

java.lang.NullPointerException
at org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLoader.java:1245)
at java.lang.ClassLoader.getResources(ClassLoader.java:1041)
at org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java:150)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResources(DiscoverResources.java:153)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResource(DiscoverResources.java:129)
at org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(DiscoverResources.java:116)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassNames(DiscoverNamesInFile.java:186)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassName(DiscoverNamesInFile.java:170)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNext(DiscoverNamesInFile.java:157)
at org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIterator(NameDiscoverers.java:143)
at org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(NameDiscoverers.java:126)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.getNextResource(ResourceClassDiscoverImpl.java:159)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.hasNext(ResourceClassDiscoverImpl.java:147)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:120)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)

最佳答案

我已经看到在您的 Tomcat/lib 文件夹中包含 commons-discovery.jar 时会出现此问题。

如果您将 commons-discovery.jar 用于项目特定目的,请将其放在项目的 WEB-INF/lib 文件夹中,而不是 Tomcat/lib 文件夹中,这应该可以解决您的问题。

这是一个部署问题,而不是 Tomcat 问题。

关于jakarta-ee - 如何避免 WebappClassLoader.findResources 中的 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482503/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com