gpt4 book ai didi

java - Maven 没有正确选择 JAVA_HOME

转载 作者:IT老高 更新时间:2023-10-28 21:18:29 27 4
gpt4 key购买 nike

我在 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 支持中的一个错误。根据 Maven specs,Eclipse 不支持所有全局 Maven 属性。 .

根据规范:

${java.home} specifies the path to the current JRE_HOME environment use with relative paths to get for example

至少在 Eclipse 4.3.1 中并非如此,这里的 java.home 总是指向用于启动 Eclipse 的 JRE,而不是构建 JRE .

要解决这个问题,您需要使用 JDK 中的 JRE 启动 Eclipse,方法是在 eclipse.ini (before -vmargs!):

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

关于java - Maven 没有正确选择 JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288735/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com