Maven项目编译时报错缺少tools.jar

时间:2023-07-26 22:24:38
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project ERP: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

解决方案


步骤一:Window -> Preferences -> Java -> installed JREs ->点击"Add"按钮,选择默认的"Standard VM", 点击"Next >", 点击"JRE home"右边的"Directory"选择目录 C:\Program Files\Java\jdk1.7.0_60\jre,“确定”回 到"Installed JREs"界面,勾选刚添加的"jdk1.7.0_60"。

步骤二:Window -> Preferences -> Java -> installed JREs -> 点选界面左侧的"JaveSE-1.7",然后在右侧勾选"jdk1.7.0_60"。

步骤三:在<eclipse安装目录>/eclipse.ini文件中添加以下两行:(一定要加在-startup之前,注意以下是两行):
-vm
C:\Program Files\Java\jdk1.7.0_60\jre\bin\javaw.exe

步骤四:重启Eclipse,一切OK了。

问题分析


系统装了两个JRE,应该用JDK中的那个JRE

java
|—jdk1.7.0_60
|—jre
|—jre7

系统默认使用java/jre7,但是该目录下没有tools.jar。所以需要使用java/jdk1.7.0_60/jre,该目录下存在tools.jar包