Tomcat6拒绝识别WEB-INF / classes文件夹中的类

时间:2012-02-19 03:12:42

标签: java class tomcat6

我想在WEB-INF / classes文件夹中使用它的源代码(相同的目录结构和所有内容),而不是在我的WEB-INF / lib文件夹中使用某个jar,这样我就可以修改它了上课更多故事。

然后(重新)在删除原始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-INF文件夹中使用此Web应用程序中的类,并且由于某种原因,tomcat也无法加载它们。

有谁知道如何解决此错误?

2 个答案:

答案 0 :(得分:1)

Tomcat只能加载.class个文件,它不知道如何处理原始源代码文件。无论如何,Tomcat不会对.class这样的文件进行热加载。在以任何方式重新编译应用程序或服务器之后,您必须重新启动应用程序或服务器,将它们打包为.war并不是一种负担once you automate it

如果您花时间自动构建和部署正确的.war,您可以重建.war并自动取消部署和重新部署应用程序本身,这比重新启动整个服务器快许多倍。

你不能按照尝试的方式做你想做的事情。像JRebel这样的工具解决了这些问题,但我发现它们没有用,因为它们的营销使它们发声。

答案 1 :(得分:0)

您可以使用嵌入式tomcat(或嵌入式jetty)来映射应用程序的目录结构。如果您的应用程序中需要一些JNDI资源,但可能需要一些修改,但仍然值得一试。

这是example