无法在项目上执行目标org.apache.maven.plugins:maven-compiler-plugin(default-compile):致命错误编译:找不到tools.jar

时间:2015-04-17 13:27:18

标签: java eclipse maven tomcat java-ee

我已完成http://www.tutorialspoint.com/jsf/jsf_environment_setup.htm

中提供的所有步骤

Apache Maven和Apache tomcat都准备好了。我也设置了环境。我在Eclipse中创建了Maven项目,它在使用Maven build运行时提供了Build Failure。

它给出了这个错误

  

"无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.5.1:在项目Hello2上编译(默认编译):致命错误编译:找不到tools.jar:C :\ Program Files \ Java \ jre1.8.0_40 .. \ lib \ tools.jar"

我该怎么办?

5 个答案:

答案 0 :(得分:37)

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

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

同时确保将eclipse运行配置设置为使用您设置的默认jdk:运行Menu =>运行配置=>选择项目的运行配置(Maven Build)=>点击JRE标签=>在Runtime JRE下选择“workspace default”。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

检查JAVA版本,它应该在所有地方都一样。 见截图。

  1. 的pom.xml enter image description here
  2. JAVA构建路径 enter image description here
  3. JAVA编译器 enter image description here
  4. 注意:要查看2和3的配置窗口...右键单击项目并单击属性

答案 3 :(得分:0)

User.getByUserId = (id) => { return new Promise(function (resolve, reject) { config.query("SELECT * FROM Users WHERE id = ?", id, (err, result) => { if (err) { reject(err) } else { resolve(result) } }) }) } 删除存储库,然后右键单击项目.m2 -> repository

之后,再次右键单击项目Run as... -> Maven install,然后单击Maven -> Update project -> Check Update of Snapshots选项。

答案 4 :(得分:-1)

我在eclipse Oxygen中使用带有JDK 1.9的Windows操作系统。我在使用maven时使用JDK 1.9编译项目时遇到了这个问题。 改变 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" C:\ apache-maven-3.5.2 \ bin中存在的mvn.cmd文件解决了这个问题。此外,请确保在您使用的IDE中正确配置了用于构建项目的编译器。