【问题标题】:Eclipse stopped building my WAR file after some Maven pom.xml changes在一些 Maven pom.xml 更改后,Eclipse 停止构建我的 WAR 文件
【发布时间】: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 服务器上运行会发生什么?

标签: eclipse maven m2eclipse


【解决方案1】:

尝试 Maven > 更新项目 (Alt+F5) 并取消选中干净构建

【讨论】:

  • 这在第二次发生后对我有用,所以我不接受我的答案并接受这个。
【解决方案2】:

事实证明,通过 Eclipse 使用 Maven 构建在“Apache Tomcat”和“Maven Build”下都创建了一个新的运行配置。在我删除这两个运行配置后,一切又开始工作了。

【讨论】:

    【解决方案3】:

    在我的情况下,我已经在 eclispe 的服务器面板中删除了服务器下的 war 文件,然后右键单击该项目并再次点击在服务器上运行,而不是再次生成 war 文件。

    【讨论】:

      猜你喜欢
      • 2012-11-04
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2011-08-09
      • 2011-03-08
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      相关资源
      最近更新 更多