1

我正在使用带有 Apache Tomcat 版本 6 的 Eclipse Java EE IDE 来开发 Web 应用程序。

应用程序的结构非常简单,只有两个类,一个是 servlet 类,另一个是由 servlet 构建并完成大部分工作的对象。

我遇到的问题是:因为今天早上我对两个类文件所做的更改并没有出现在 Web 应用程序的行为中。该应用程序的行为本质上就好像它正在运行我昨天的代码。为了确保确实如此,我暂时以激进的方式改变了程序的行为,这些改变仍然没有影响 Web 应用程序。

一些相关信息:我正在运行 Ubuntu 12,我的 Eclipse 项目设置为自动构建,并且 tomcat 服务器配置为默认自动加载模块并在资源更改时自动发布。我还清理了服务器的工作目录。

我该如何克服这个问题?我需要我的 Web 应用程序来实现我对 servlet 的源代码和 servlet 使用的类所做的更改。

4

2 回答 2

1

如果您在选项卡Servers中以标准方式添加 Tomcat 服务器,则部署路径位于.metadata工作空间的目录中。

下一个树目录用于我的工作区。我添加了Tomcat 7。

MY_WORKSPACE
+---.metadata
|   \---.plugins
|       +---org.eclipse.wst.server.core
|       |   |   monitors.xml
|       |   |   publish.xml
|       |   |   servers.xml
|       |   |   tmp-data.xml
|       |   |   
|       |   +---publish
|       |   |       publish0.dat
|       |   |       publish1.dat
|       |   |       
|       |   \---tmp0
|       |       +---conf
|       |       |   |   catalina.policy
|       |       |   |   catalina.properties
|       |       |   |   context.xml
|       |       |   |   server.xml
|       |       |   |   tomcat-users.xml
|       |       |   |   web.xml
|       |       |   |   
|       |       |   \---Catalina
|       |       |       \---localhost
|       |       +---logs
|       |       |       catalina.2013-07-06.log
|       |       |       catalina.2013-07-11.log
|       |       |       host-manager.2013-07-06.log
|       |       |       host-manager.2013-07-11.log
|       |       |       localhost.2013-07-06.log
|       |       |       localhost.2013-07-11.log
|       |       |       localhost_access_log.2013-07-06.txt
|       |       |       localhost_access_log.2013-07-11.txt
|       |       |       manager.2013-07-06.log
|       |       |       manager.2013-07-11.log
|       |       |       
|       |       +---temp
|       |       +---webapps
|       |       +---work
|       |       |   \---Catalina
|       |       |       \---localhost
|       |       \---wtpwebapps
|       |           +---ROOT
|       |           |   \---WEB-INF
|       |           |           web.xml
|       |           |           
|       |           \---MyWebProject
|       |               |   index.html
|       |               |       
|       |               \---WEB-INF
|       |                   +---classes
|       |                   |   |   
|       |                   |   \---several-packages-and-clases
|       |                   \---lib
|       |                           log4j-1.2.17.jar
|       |                           slf4j-api-1.7.5.jar
|       |                           slf4j-log4j12-1.7.5.jar
|       |                           
|       \---org.other.plugins
|               
\---Servers
    |   .project
    |   
    +---.settings
    |       org.eclipse.wst.server.core.prefs
    |       
    \---Tomcat v7.0 Server at localhost-config
            catalina.policy
            catalina.properties
            context.xml
            server.xml
            tomcat-users.xml
            web.xml

我的 Web 应用程序的真实路径MyWebProject在 directory 中wtpwebapps。您可以删除并重MyWebProject试。

如果您的工作区中有多个 Tomcat,您会看到类似tmp0, tmp1, tmp2...的目录

于 2013-07-18T00:14:38.897 回答
0

我遇到了类似的问题,就我而言,即使 tmp0 文件夹已正确更新为新的类文件和资源文件,我仍然遇到同样的问题。就我而言,我通过禁用 Eclipse 的 jrebel 插件解决了这个问题。我在 eclipse 中安装了 jrebel,它仍在监视和从其他工作区(甚至不是这个工作区)部署项目,我也将向 jrebel 团队提出一个错误。只需为该项目禁用 jrebel 并使其恢复正常

于 2017-09-07T18:10:00.827 回答