【问题标题】:maven ignoring jenv settingsmaven 忽略 jenv 设置
【发布时间】:2015-08-16 15:10:36
【问题描述】:

我安装了带有Java 1.6 的OSX,我刚刚安装了jenvJava 1.7

$ jenv local '1.7'
$ jenv versions
  system
  1.6
  1.6.0.65
* 1.7 (set by /Users/me/workspace/.java-version)
  1.7.0.79
  oracle64-1.6.0.65
  oracle64-1.7.0.79

jenv 正在工作,$ java -version 一直在工作,当我将其设置为 1.6 时显示 1.6,当我将其设置为 1.7 时显示 1.7:

$ java -version
java version "1.7.0_79"                    <--------------------------------- YAY!!
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

...但是 maven 忽略了我的设置:

$ mvn -version
Apache Maven 3.0.2 (r1056850; 2011-01-08 19:58:10-0500)
Java version: 1.6.0_65, vendor: Apple Inc. <--------------------------------- BAH!!
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"

我找到了this SO question,这个人只需要在.mavenrc 中硬编码他的JAVA_HOME,但我不希望我的硬编码(因此jenv!),我没有@ 987654334@,也不是/etc/mavenrc

它使用的版本似乎来自/usr/libexec/java_home 输出中的第一个版本,因此在短期内我可以通过调整 1.7 的Info.plist 文件(来自this SO post)再次获得 1.6,但是这只是意味着我得到 1.6 而不是 1.7。

有什么想法吗?

【问题讨论】:

    标签: java macos maven jenv


    【解决方案1】:

    您需要安装 jenv maven 插件,尝试以下命令并重新加载您的 shell:

    jenv enable-plugin maven

    【讨论】:

    • 不知道为什么我花了这么长时间才注意到这个答案。这就像一个魅力!比必须为所有内容添加前缀要好得多。谢谢(即使来晚了)!
    • 谢谢你,@tenfourty!这真的很有帮助。当在不同版本的 Java 之间切换以构建具有多个 JDK 进行测试的项目时,这对我有用。
    • 我确实启用了此功能,但它不起作用。原来,jenv(由 Homebrew 安装)在 ~/.jenv/plugins 中使用了一个符号链接,这指向了一个旧的 jenv 版本。修复了链接,修复了 jenx,修复了 Maven!
    • 我需要运行 jenv exec mvn -version。仅启用插件对我不起作用。
    • 我今天在 Homebrew (macOS) 升级后遇到问题,Maven 不遵守配置的 JVM 版本。不确定是否需要重新散列和 shell 重新加载,但禁用和重新启用 Maven 插件肯定会修复它。
    【解决方案2】:

    我遇到了类似的问题。我通过在所有命令前加上 jenv exec 来运行:

    jenv exec mvn -version
    

    【讨论】:

    • 太棒了!我想我会这样alias。谢谢!
    • 当项目使用 mvnw 包装器时,此答案对我有用
    【解决方案3】:

    现在,有一个新选项如何通过 jenv 导出插件设置 JAVA_HOME:

    jenv enable-plugin export
    

    https://github.com/gcuisinier/jenv/issues/44#issuecomment-233124185

    【讨论】:

      【解决方案4】:

      如果您启用了mavenexport 插件,但仍然有问题,请检查您是否没有设置JAVA_HOME~/.mavenrc 文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-15
        • 1970-01-01
        • 2023-03-31
        • 2013-07-14
        • 1970-01-01
        • 2017-03-18
        • 2023-04-05
        • 1970-01-01
        相关资源
        最近更新 更多