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始终指向 用于启动EclipseJRE,而 不是构建JRE。

要解决此问题,您需要使用JDK中的JRE来启动Eclipse,方法是在eclipse.inibefore-vmargs!)中添加以下内容:

-vm

C:/<your_path_to_jdk170>/jre/bin/server/jvm.dll

以上是 Maven没有正确选择JAVA_HOME 的全部内容, 来源链接: utcz.com/qa/428272.html

回到顶部