我不想在 WEB-INF/lib 文件夹中使用某个 jar,而是想在 WEB-INF/classes 文件夹中使用它的源代码(相同的目录结构和所有内容),这样我就可以修改它的类(class)更多故事。
但是,删除原始 jar 并将相应目录上传到 WEB-INF/classes 后(重新)启动我的 tomcat 会出现以下错误:
SEVERE: Error configuring application listener of class no.something.something1.http.LifecycleListener
java.lang.ClassNotFoundException: no.something.something1.http.LifecycleListener
我确信目录路径与jar内的目录路径相同。另外,我之前曾尝试在该 Web 应用程序中使用 WEB-INF 文件夹中的类,但由于某种原因,tomcat 也无法加载它们。
有谁知道我如何解决此错误?
最佳答案
Tomcat 只能加载 .class
文件,它不知道如何处理原始源代码文件。无论如何,Tomcat 不会对 .class
文件进行热加载。无论哪种方式,在重新编译应用程序或服务器后,您都必须重新启动应用程序或服务器,将它们打包为 .war
无论如何都不是太大的负担 once you automate it .
如果您花时间自动构建和部署适当的 .war,您只需重建 .war,它就会自动取消部署并重新部署应用程序本身,这比重新启动整个服务器快很多倍。
你无法按照你想要的方式去做你想要做的事情。像 JRebel 这样的工具可以解决这些问题,但我认为它们并不像他们的营销宣传所说的那样有用。
关于java - Tomcat6 拒绝识别 WEB-INF/classes 文件夹中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346364/