java_home在启动jenv后仍然指向java的最新版本
我已使用brew cask安装了多个版本的JDK:java_home在启动jenv后仍然指向java的最新版本,java,macos,maven,homebrew,Java,Macos,Maven,Homebrew,我已使用brew cask安装了多个版本的JDK: MacBook-Pro:bin myusername$ brew cask list java java8 soapui 并将默认值设置为java8: MacBook-Pro:bin myusername$ jenv globa
MacBook-Pro:bin myusername$ brew cask list
java java8 soapui
并将默认值设置为java8:
MacBook-Pro:bin myusername$ jenv global
1.8.0.162
但是,当我使用lanuch maven时,它没有找到$JAVA\u HOME
,而使用JAVA\u HOME
:
MacBook-Pro:bin myusername$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
maven脚本:
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home)}" exec "/usr/local/Cellar/maven@3.2/3.2.5/libexec/bin/mvn" "$@"
我可以更改
mvn
脚本,但是如果我可以修复JAVA\u HOME
问题,它会更好。有什么提示吗 为此,您必须启用jenv maven插件。从:
假设您希望Maven使用由Jenv激活的JDK,而不是>默认JAVA_HOME配置。你需要激活Jenv的maven插件
注意:enable plugin功能是系统范围的,不是shell的本地功能,也不是临时功能——您只需执行一次
实际上问题是没有设置
JAVA\u HOME
。为此,我在.bash_profile
中添加了以下内容:export JAVA_HOME=“$HOME/.jenv/versions/`jenv version name`
是的,但是在单个会话期间,您无法在JVM之间切换。也许编辑器可以更改标题以突出显示此问题是特定于maven的,我会更快地找到此答案:-P
$ jenv enable-plugin maven
maven plugin activated