Eclipse tomcat采摘旧文件

时间:2013-10-08 15:25:11

标签: eclipse maven m2eclipse

我尝试了所有我想到的东西,但不知何故事情都没有用。我用maven创建了两个项目

  • 一个是网络应用程序
  • 其次是一个简单的Java应用程序。

最初我使用Maven命令行(不是eclipse)来构建我的java应用程序

mvn > install

正在使用 mvn >eclipse:cleanmvn > eclipse:eclipse更新依赖关系.Things工作正常。现在我想在web应用程序中调试我的Java应用程序(jar),所以我停止使用maven构建过程并添加了我的java应用程序configure build path下的项目标签。

我尝试清理,构建我的Web应用程序但不知何故Tomcat正在选择我的java应用程序的旧文件。 我甚至清除了我的Eclipse tomcat工作目录并重新部署了应用程序,但没有用。

有人能指出我在哪里做错了。 我正在使用Eclipse Kepler Release version嵌入式maven插件。

3 个答案:

答案 0 :(得分:0)

通常的罪魁祸首:

  • Tomcat进程仍在运行(重启失败,因为端口已被占用)。确保Tomcat确实停止了。
  • Tomcat正在从意想不到的地方加载类。检查您的Tomcat配置和部署描述符(适用于您的应用的context.xml)。
  • 在部署到正在运行的服务器期间,Eclipse无法替换所有类文件。这通常是由于类加载器泄漏造成的。使用分析器查找这些内容。
  • 确保类路径上没有重复项。 maven-duplicate-finder是你的朋友。

[编辑] 尝试使用ClassLoader.getResources()see this question)加载其中一个违规类。这为您提供了Tomcat用于加载类的绝对路径。

答案 1 :(得分:0)

尝试以下方法:

  1. 删除托管您的网络应用程序的应用程序服务器上的文件。
  2. 查看您的Pox.xml和任何其他相关配置文件,并确保您的构建设置正确无误。

答案 2 :(得分:0)

如果有人遇到类似的问题,我将分享我遵循的程序来修复它。首先,我必须说,在我的情况下,java文件中的更改已正确更新(这意味着它已编译并正确复制到部署路径)。但是,资源文件(如属性文件)未更新。

通过以下程序,我设法正确更新了文件,并可能解决类似的问题。

  • 禁用自动构建(取消选中Project>自动构建)。
  • 点击项目>清理并选择违规项目。保持检查以在清理后启动构建。
  • 刷新项目(单击项目根目录上的辅助按钮以显示上下文菜单并选择刷新)。
  • 执行Maven清理包(您可以创建Maven运行配置并在目标字段中键入“clean package”而不带引号)
  • 再次刷新项目。
  • 清理服务器。为此,请在违规服务器的上下文菜单上单击“清理”(在“服务器”视图中)。

这是一个非常繁琐的过程,但如果步骤不能正确再现,它可能无法正常工作。