![](/img/trans.png)
[英]Can Visual Studio Express 2008 C/C++ co-exist on the same machine with VSE Java?
[英]Can Java 7 and Java 8 co-exist on OSX
我已經安裝了Java 8用於開發目的,但現在我想再次使用Java 7。
我該怎么做呢?
這似乎非常困難。
提前謝謝了。 (我嘗試使用guigarage,但這不起作用)
從終端: export JAVA_HOME=`/usr/libexec/java_home -v 1.x`
,其中x是Java版本。
我個人有一個shell函數,為我做這個:
use-java () {
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`
}
我只需要調用use-java 7
或use-java 8
來改變我當前shell的Java版本。
使用jEnv 。
如果您的系統運行自制程序 ,則可以使用它進行安裝
brew install jenv
(您可能需要先運行brew update
才能獲得最新的食譜)
使用將其添加到您的bash配置文件中
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
啟動一個新shell以使對配置文件的此更改生效。
然后你可以像這樣添加jdk:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
列出可用的版本
jenv versions
並在使用環境之間切換
jenv global oracle64-1.8.0.25
還有更多自定義選項,例如每個目錄切換或臨時在單個shell中,請參閱http://www.jenv.be 。
jEnv的工作原理是為java可執行文件創建填充腳本並將它們放在路徑的前面。 像ant和maven這樣的第三方java工具依賴於JAVA_HOME。 要確保正確設置JAVA_HOME,請運行
jenv enable-plugin export
還有用於maven和groovy等工具的jenv插件。
下面是如何從在OSX小牛(命令行切換Java版本優異的答案源通過Neeme Praks ):
編輯
~/.bash_profile
並添加以下內容:
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
echo JAVA_HOME set to $JAVA_HOME
java -version
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
(將以上函數添加到.bash_profile
)
用法:
$ setjdk 1.7
安裝完成后,打開Java Preferences(Launchapad / Others):
並將首選版本拖到列表頂部:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.