【问题标题】:Tomcat6 refuses to recognize the classes in WEB-INF/classes folderTomcat6 拒绝识别 WEB-INF/classes 文件夹中的类
【发布时间】:2012-02-19 03:12:41
【问题描述】:

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

在删除原始 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 也无法加载它们。

有谁知道我如何解决这个错误?

【问题讨论】:

    标签: java class tomcat6


    【解决方案1】:

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

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

    你不能按照你想做的方式去做你想做的事。 JRebel 之类的工具可以解决这些问题,但我发现它们的用处不如他们的市场营销所说的那么好。

    【讨论】:

      【解决方案2】:

      您可以根据需要使用嵌入式 tomcat(或嵌入式码头)来映射应用程序的目录结构。如果您在应用程序中需要一些 JNDI 资源,但仍然值得麻烦,则可能需要进行一些修改。

      这是example

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-02
        • 2012-11-18
        • 2011-06-11
        • 1970-01-01
        • 2016-10-02
        • 1970-01-01
        相关资源
        最近更新 更多