【发布时间】:2014-12-18 10:54:12
【问题描述】:
我最近借此机会重构了我们的 pom.xml 文件以使用更多过滤并删除一些重复的属性文件。构建现在可以从命令行正常工作,在我们的 CI 环境中,它能够构建一个 WAR 并且 Jenkins 可以毫无问题地部署它。
不过,Eclipse 是另一回事。我使用 Build Automatically 检查并让 Eclipse 为我运行 Tomcat。在大多数代码更改时,Eclipse 会检测到更改,构建代码和新的 WAR 文件,并将新的 WAR 发布到 Tomcat。在所有这些 Maven 更改之后,它不再这样做了。我不确定问题是否是我在 pom 文件上右键单击了几次并选择了手动 Maven 清理和安装,这让 Eclipse 感到困惑,但我无法让它回到 Eclipse 知道如何构建的地步给我一个 WAR 文件并部署它。
我将假设我的 pom.xml 文件不是问题,并且不会在此处发布它,因为手动构建(mvn clean install)会在目标目录中生成一个 WAR 文件,并且我们在 CI 上的构建可以正常工作而无需任何变化。多个 maven clean 命令和 Project -> Clean in Eclipse 已在没有帮助的情况下运行。
我在 Eclipse 日志中看不到任何内容,从窗口 -> 视图 -> 常规 -> 错误日志。
我已经阅读了很多关于 StackOverflow 的建议,并且很多回复表明 Eclipse 对 Maven 的支持很糟糕。我不一定需要 Maven 构建在这里工作。我需要 Eclipse 来构建代码,然后生成一个 WAR 并意识到它需要部署到它已经运行的 Tomcat 实例。除了永远退出 Eclipse 并为 IntelliJ 付费之外,有没有办法让它再次工作?
-- 编辑-- 万一这有帮助。我停止了 Tomcat 和 Eclipse,从命令行 mvn clean,验证目标目录已删除,启动 Eclipse,打开自动构建,现在这是我在目标目录中看到的:
$ cd target
$ ls -la *
classes:
total 40
drwxr-xr-x 7 chris staff 238 Oct 22 16:49 .
drwxr-xr-x 5 chris staff 170 Oct 22 16:49 ..
-rw-r--r-- 1 chris staff 1088 Oct 22 16:49 application.properties
-rw-r--r-- 1 chris staff 727 Oct 22 16:49 deviceEnrollment.vm
-rw-r--r-- 1 chris staff 31 Oct 22 16:49 hibernate.properties
-rw-r--r-- 1 chris staff 1061 Oct 22 16:49 log4j2.xml
-rw-r--r-- 1 chris staff 354 Oct 22 16:49 portalEnrollment.vm
m2e-wtp:
total 0
drwxr-xr-x 3 chris staff 102 Oct 22 16:49 .
drwxr-xr-x 5 chris staff 170 Oct 22 16:49 ..
drwxr-xr-x 3 chris staff 102 Oct 22 16:49 web-resources
test-classes:
total 16
drwxr-xr-x 4 chris staff 136 Oct 22 16:49 .
drwxr-xr-x 5 chris staff 170 Oct 22 16:49 ..
-rw-r--r-- 1 chris staff 1103 Oct 22 16:49 application.properties
-rw-r--r-- 1 chris staff 44 Oct 22 16:49 temp.txt
【问题讨论】:
-
如果右击“项目 > 运行方式 > 在服务器上运行”并在 Tomcat 服务器上运行会发生什么?