gpt4 book ai didi

java - 在 OS X 上运行 Maven 时 ${java.home} 发生变化

转载 作者:搜寻专家 更新时间:2023-10-31 08:03:49 26 4
gpt4 key购买 nike

这似乎是我在 Linux 或 Windows 机器上没有看到的问题。我使用从/usr/libexec/java_home 派生的 JAVA_HOME 设置我的环境。这是在我的 .bashrc 文件中:

export JAVA_HOME=$(/usr/libexec/java_home -version 1.7)

结果是:

~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

然而,当我在我的项目上运行 Maven 时,我从 native2ascii 插件中得到一个错误:

[ERROR] Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin:1.0-alpha-2-SNAPSHOT:native2ascii (default) on project dataAccessServices: Error starting Sun's native2ascii: -> [Help 1]

我的调查表明我使用的是 JRE 而不是 JDK。这很奇怪,因为我在我的 JAVA_HOME 变量中明确指向了 JDK。但是,这里是 mvn -version 的输出:

~/dev/Endeavor/endeavor-sdk$ mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /usr/share/maven
Java version: 1.7.0_17, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"

请注意“Java home:”行表明 ${java.home} 变量已移至 JRE 而不是 JAVA_HOME 环境变量所在的 JDK指向。

我已经尝试在许多地方设置 JAVA_HOME,但我似乎无法找到让 maven 使用 JDK 而不是 JRE 作为主目录的方法。

更新:

我发现这似乎表明这是预期的行为:Java_home in Maven

但这并不能解释为什么 native2ascii 插件找不到它需要的 JDK 工具。

我已经删除了 native2ascii 的使用,因为它在很大程度上是不必要的。所以,我在这一点上避免了这个问题。但是,如果有人知道为什么这在不同的系统上表现不同,请告诉我。

最佳答案

您是否尝试过运行 mvm help:system 来打印与 maven 相关的所有环境变量值?

关于java - 在 OS X 上运行 Maven 时 ${java.home} 发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17529336/

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