Java Tomcat类加载器不工作

Java Tomcat类加载器不工作,java,tomcat,tomcat7,classloader,Java,Tomcat,Tomcat7,Classloader,我需要你的帮助。我在处理Tomcat类加载器时遇到了一个不寻常的问题。我有一个WAR,在WAR中有一个第三方JAR,它有本地方法。WAR首次成功部署在开发服务器中,并已运行了约3个月 上周,我进行了一些代码重构,并希望部署更新后的WAR,因此我删除了旧实例并部署了WAR。但现在在重新部署之后,我总是面临错误。我多次重新部署战争,结果都是一样的,NoClassDefFoundError 奇怪的是,当我在笔记本电脑中部署更新后的WAR时,它也使用Tomcat,工作正常。我的同事也尝试使用Tomcat

我需要你的帮助。我在处理Tomcat类加载器时遇到了一个不寻常的问题。我有一个WAR,在WAR中有一个第三方JAR,它有本地方法。WAR首次成功部署在开发服务器中,并已运行了约3个月

上周,我进行了一些代码重构,并希望部署更新后的WAR,因此我删除了旧实例并部署了WAR。但现在在重新部署之后,我总是面临错误。我多次重新部署战争,结果都是一样的,NoClassDefFoundError

奇怪的是,当我在笔记本电脑中部署更新后的WAR时,它也使用Tomcat,工作正常。我的同事也尝试使用Tomcat在他的笔记本电脑上部署,效果很好

我已经删除了工作目录中的文件,但仍然出现NoClassDefFoundError。我关闭了Tomcat,删除了webapp文件夹中的实例,在webapp文件夹中再次复制更新的WAR,再次打开Tomcat,但仍然显示错误


开发服务器中的Tomcat有什么问题吗?

在JVM的生命周期中,只能注册一次本机库。我怀疑当您更新WAR时,它试图再次注册本机库,但失败了,这反过来导致了NoClassDefFoundError。重新启动Tomcat服务器修复了这个问题,这与这个理论是一致的


如果您发送的WAR包含本机库,那么最安全的做法是在每次需要更新应用程序时重新启动Tomcat。

检查Tomcat的版本。尝试从Tomcat/work/Catalina/中删除应用程序文件夹并重新启动服务器。您能显示错误吗?看起来你删除了一个受抚养人jar@JunedAhsan我这样做了,但是没有任何改变。我确实重新启动了开发服务器好几次,但仍然出现了错误。我也同意这个解决方案,因为它可以在我的笔记本电脑中的Tomcat上工作,但在开发服务器上不工作。还有别的想法吗?顺便说一下,谢谢。