1

由于我的 PC 中的性能问题,我没有使用 Eclipse-Tomcat-Maven 集成的标准路线。我所做的是使用 Maven 构建我的更改,然后手动将文件复制到 Tomcat webapps 文件夹。

每当我将 JSP 文件复制到 webapps 文件夹时,我都可以看到更改已反映。但是对于类文件,这些更改根本没有反映出来。

我只是在我的类的方法中进行了微小的更改(添加一个系统输出,或删除一行代码等),而不是进行任何结构更改。

在我的 server.xml 中,我可以看到 autodeploy 和 deployonstartup 设置为 true。

 <Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat01" debug="0">
 <Host appBase="webapps" name="localhost" autoDeploy="true" 
     deployOnStartup="true" unpackWARs="true" deployXML="true">

Tomcat 版本是 Apache Tomcat/6.0.29

请问有人能告诉我可能出了什么问题吗?

4

1 回答 1

1

阅读 tomcat6文档和 part Deploying on a running Tomcat server,它在最后一行声明:

请注意,也可以在加载器中配置 Web 应用程序重新加载,在这种情况下,将跟踪加载的类的更改。

因此,转到加载程序文档,您可以看到设置reloadable加载程序配置的属性将完全符合您的要求

reloadable:如果您希望 Catalina 监视 /WEB-INF/classes/ 和 /WEB-INF/lib 中的类的更改,则设置为 true,并在检测到更改时自动重新加载 Web 应用程序。此功能在应用程序开发期间非常有用,但它需要大量运行时开销,因此不建议在已部署的生产应用程序中使用。但是,您可以使用 Manager Web 应用程序来按需触发重新加载已部署的应用程序。注意 - 此属性的值将从您在周围 Context 组件上设置的可重新加载属性继承,并且您在此处显式设置的任何值都将被替换。

于 2013-07-23T06:31:26.853 回答