繁体   English   中英

Tomcat类加载器无法正常工作

[英]Tomcat classloader is not working

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

上周,我进行了一些代码重构,并希望部署更新的WAR,因此我删除了旧实例并部署了WAR。 但是现在,在重新部署之后,我始终会遇到NoClassDefFoundError。 我多次重新部署了WAR,结果还是一样,NoClassDefFoundError。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM