当我尝试生成一个war文件时,它会显示一些错误
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar
当我做 echo %path%
它显示
C:\Windows\System32;D:\name\name1\Softwares\Maven\apache-maven-3.0.4\b
in;C:\Program Files\Notepad++\;%JDK_HOME%
我什么时候 echo %JDK_HOME%
D:\name\name\core java\software\Java\Java_1.6.0_04_win\jdk1.6.0_04\bin
当我的环境变量是jdk时,我不知道为什么maven会引用jre . 我还将已安装的JRE更改为jdk1.6 .
14 回答
Its in Eclipse setup only
它有4个步骤TODO .
第1步:右键单击Eclipse项目属性
第2步:Java构建路径 - >库
步骤3:选择JRE System Library - >单击Edit按钮 - >单击Installed JREs ...按钮
第4步:将JRE编辑为Set JRE Home = JAVA_HOME
ScreentShot:
转到窗口 - >首选项... - > Java - >已安装的JRE
编辑JRE Home = JAVA_HOME或JAVA_HOME \ jre
例如,如果使用安装在C:\ Program Files中的jdk1.6.0_04,请执行以下更改:
C:\ Program Files \ Java \ jdk1.6.0_04 \ jre或C:\ Program Files \ Java \ jdk1.6.0_04而不是C:\ Program Files \ Java \ jre7中的默认值
有同样的问题,但在我的情况下,目录eclipse指出JRE是JDK . 所以,我搜索了那些tools.jar并且在那里 .
我做到了
Java构建路径>>库
JRE系统Lybrary >>编辑
已安装的JRE >>点击我的jdk >>编辑
添加外部Jars >> tools.jar
然后编译好了
这是一个Eclipse问题 . 当我尝试使用命令行构建它时
它工作得很好 .
听起来你将
JDK_HOME
定义为用户变量,PATH
定义为系统变量,反之亦然 -echo %PATH%
不应包含未解析的变量,如...;%JDK_HOME%
.即使必须明确地放置路径,也要确保
%JDK_HOME%\bin
路径在PATH变量上,未解析 .JDK_HOME变量应始终指向jdk的基本目录,而不是bin目录:
那个定义,修复你的路径
我有相同的错误,因为JUNIT版本,我有3 3.8.1,我已经改为4.8.1 .
所以解决方案是
你必须去POM,并确保你的依赖看起来像这样
在Eclipse中,导入Maven项目或调用“更新源”等操作在运行Eclipse的同一JVM中运行 . 如果该JVM来自不属于JDK的JRE,则不会有Java编译器(tools.jar) .
因此,要从Eclipse中启动Maven,用于启动的JRE也需要来自JDK . 默认情况下,Eclipse会注册JRE,但它可以在“Window / Preferences ... / Java / Installed JREs”首选项页面上配置,如上所述Parthasarathy
或者,您可以在pom.xml中指定compilerId,因此Maven在编译Java代码时不会查找JDK:
我遇到了类似的问题,因为没有人发布类似我的方法,我走了 .
我可以通过以下步骤解决:
最后做Maven Clean和Maven安装 .
这取决于Maven版本 . 当您安装较新版本的Maven时,不会出现此错误 . 您还可以使用tools.jar文件lib / tools.jar添加另一个目录 - 它也解决了这个问题 .
如果你我们正在做的所有上述步骤可能会混淆,我们的问题只是缺少tools.jre,所以只需通过以下步骤添加tools.jre,问题就解决了 .
第1步:在eclipse中转到Windows - >首选项
第2步:Java - >已安装的JRE(双击它)
第3步:单击“编辑”按钮 - >单击“添加外部JAR”
第4步:现在选择tools.jar路径
现在应用更改,它工作正常 .
Here is screenshoot
虽然有一些非Eclipse对于这个没有提到Eclipse的问题的上述答案,他们需要改变路径变量 . 另一种方法是使用命令行选项java.home,例如:
注意最后的\ jre - 一个令人惊讶的必要性 .
对于Intellij Idea,设置适当的一切(与此类似):
并且别忘了 restart Idea . 该程序在启动时选择变量,因此在程序运行时对环境变量的任何更改都不会产生任何影响 .