【问题标题】:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin (default-compile) on project: Fatal error compiling: tools.jar not found无法在项目上执行目标 org.apache.maven.plugins:maven-compiler-plugin (default-compile):致命错误编译:未找到 tools.jar
【发布时间】:2015-06-24 09:15:45
【问题描述】:

我已经完成了http://www.tutorialspoint.com/jsf/jsf_environment_setup.htm中提供的所有步骤

Apache Maven 和 Apache tomcat 都准备好了。我还设置了环境。我在 Eclipse 中创建了 Maven 项目,当我使用 Maven 构建运行它时,它给出了构建失败。

它给出了这个错误

“未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project Hello2: Fatal error compile: tools.jar not found: C:\Program文件\Java\jre1.8.0_40..\lib\tools.jar"

我该怎么办?

【问题讨论】:

  • 您检查过您的环境变量中是否定义了 java_home 吗?
  • 是的环境变量是在系统路径中定义的。
  • 看起来你已经定义了指向 JRE 而不是 JDK 的 JAVA_HOME
  • 我已经在系统路径中直接设置了JRE和JDK。
  • @khmarbaise 你是对的。在我将JAVA_HOME 环境变量更改为指向/usr/lib/jvm/java-8-oracle" 后,它起作用了。

标签: java eclipse maven tomcat jakarta-ee


【解决方案1】:

我在 Eclipse Oxygen 中使用带有 JDK 1.9 的 Windows 操作系统。我在使用 maven 使用 JDK 1.9 编译项目时遇到了这个问题,我通过更改 C:\apache-maven-3.5.2\bin 中的 mvn.cmd 文件解决了这个问题。

之前:

set "JAVACMD=C:\Program Files\Java\jdk-9.0.1\bin\java.exe"

之后:

set "JAVACMD=C:\Program Files\Java\jdk1.8.0_91\bin\java.exe"

另外,请确保您用于构建项目的编译器在您使用的 IDE 中正确配置。

【讨论】:

  • 上面的问题表明 JDK 8 已经被使用(参见“tools.jar not found”之后的路径引用。因此,上面建议从 JDK 9 更改为 JDK 8 的答案可能无法解决问题。
  • 路径引用中提到的 JRE 路径。我提到要正确提供 JDK 路径。找不到工具 jar 可能是未正确设置 JDK(直到 1.8)路径或未正确设置 JAVA_HOME 值的原因。我的回答是为我面临的问题的可能原因之一提供解决方案。
【解决方案2】:

.m2 -> repository 删除存储库,然后右键单击项目Run as... -> Maven install

之后,再次右键单击项目Maven -> Update project -> Check Update of Snapshots 并单击Ok 选项。

【讨论】:

    【解决方案3】:

    我删除了我的 .m2 本地本地存储库并重新运行它。它有效。

    【讨论】:

    • 我会小心的。这将删除所有本地 Maven 依赖库。完成此操作后,您可能需要在每个项目上重新安装。我也认为这解决了问题可能是巧合。
    • 感谢您的建议,当时我的.m2刚刚安装,所以我删除了它,它并没有影响任何环境,但是您所说的确实很有帮助。谢谢
    【解决方案4】:

    检查 JAVA 版本,它应该在所有地方都相同。 查看屏幕截图。

    1. pom.xml
    2. JAVA 构建路径
    3. JAVA 编译器

    注意:要查看 2 和 3 的配置窗口...右键单击项目并单击属性

    【讨论】:

      【解决方案5】:

      您需要将 eclipse 的默认安装“jre”设置为 jdk。 Eclipse Window Menu => Preferences => 在左侧导航窗格中输入搜索字符串“jre” => 在左侧导航窗格中单击“Installed JREs” => 单击 Add 并浏览到您的 JDK。 => 单击 JDK 旁边的复选框以使其成为默认值。

      如果您还没有 java jdk,您可能需要下载并安装它。

      还要确保将 eclipse 运行配置设置为使用您设置的默认 jdk:运行菜单 => 运行配置 => 为您的项目选择运行配置 (Maven 构建) => 单击 JRE 选项卡 => 在运行时 JRE 下选择“工作区默认值”。

      【讨论】:

      • @abdul 有一个赞成和接受答案选项。请也这样做
      • 我还有一个问题。我必须在 Apache Tomcat 服务器上部署应用程序。右键单击服务器 -> 添加和删除 ->。但我收到此消息“没有可以从服务器添加或删除的资源”
      • 一个问题,你有答案。请接受他的回答并投票。如果这是一个新问题,请将其发布为新问题
      • 另外,Apache Tomcat 不是服务器,它只是一个容器
      • 好的,先生,但我不能投票,因为我的声誉低于 15。
      猜你喜欢
      • 2020-07-29
      • 2018-03-04
      • 2016-08-06
      • 1970-01-01
      • 2017-07-20
      • 2020-03-24
      • 2015-05-07
      • 2017-06-23
      • 1970-01-01
      相关资源
      最近更新 更多