Maven没有正确选择JAVA_HOME
我在Windows环境中,并使用Maven编译我的项目。尽管我刚刚创建了项目并添加了各种库的依赖项。
当我添加它们时,maven开始抱怨丢失tools.jar
,因此我在下面添加了以下内容pom.xml
:
<dependency> <groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
当我运行Maven安装时,出现以下丢失的jar错误:
[ERROR] Failed to execute goal on project GApp: Could not resolve dependencies for project GApp:GApp:war:0.0.1-SNAPSHOT: Could not find artifact com.sun:tools:jar:1.6 at specified path C:\Program Files\Java\jre6\lib\tools.jar -> [Help 1]
问题是,tools.jar
它位于“ C:\Program
Files\Java\jdk1.6.0_26\lib”中,并且已在JAVA_HOME
环境变量中正确设置,但是maven仍在jre文件夹中查找错误消息“
C:\Program Files\Java\jre6\lib\tools.jar
”。
C:\>echo %JAVA_HOME%C:\Program Files\Java\jdk1.6.0_26
:当我在依赖项中设置完整路径时,它工作得很好。但我不想对其进行硬编码。
<dependency> <groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar</systemPath>
</dependency>
有人可以为此提出任何动态解决方案吗?
回答:
这是Eclipse Maven支持中的一个错误。根据
Eclipse不支持所有全局Maven属性。
根据规格:
$ {java.home}指定当前JRE_HOME环境使用的路径,并使用相对路径来获取例如
至少在Eclipse 4.3.1中不是这样,这里java.home
始终指向 用于启动Eclipse 的 JRE,而 不是构建JRE。
要解决此问题,您需要使用JDK中的JRE来启动Eclipse,方法是在eclipse.ini
( before-vmargs
!)中添加以下内容:
-vmC:/<your_path_to_jdk170>/jre/bin/server/jvm.dll
以上是 Maven没有正确选择JAVA_HOME 的全部内容, 来源链接: utcz.com/qa/428272.html