2014-01-07 5 views
25

開発目的でJava 8をインストールしましたが、今度はJava 7をもう一度使いたいと思います。OSXにJava 7とJava 8が共存できる

どうすればよいですか?

非常に難しいようです。

事前に感謝します。インストール後 (私はguigarageを使用してみました、それは動作しません)

+1

です。一般に 'PATH'変数の値を変更するだけです。しかし、開発に関しては、IDEに依存します。あなたのIDE用にJDKを切り替える方法が分かります。 –

+0

デフォルトのJavaがJava 8であるため、IntellIJはまったく起動しません。 – Dan

+0

現在の 'JRE'を削除し、' JRE 7'をもう一度インストールしてみてください。 –

答えて

37

私は個人的に私のためにすることを行い、シェル機能を持​​っている:

use-java() { 
    export JAVA_HOME=`/usr/libexec/java_home -v 1.$1` 
} 

私はちょうど私の現在のシェルのJavaのバージョンを変更するために、use-java 7またはuse-java 8を呼び出す必要があります。ここで

+0

ありがとう - しかし、私が理解しているように、あなたのプログラムが起動スクリプトでJAVA_HOME変数を使用する場合にのみ便利です。 eclipseやIntellijなど、マシン上のデフォルトのjavaを使用するものを起動している場合はどうでしょうか?あなたはそれを変更できますか? – Dan

+1

'JAVA_HOME'はあなたの端末で(例えば' java'や 'javac'のために)使用するJDKのパスを指定します。これは、端末の外部にJavaバージョンに影響を与えません。 IDEには独自のJDKバージョン設定があります。 IntelliJでは、プロジェクト環境設定を開き、* Project *パネルに移動して、使用するJDKバージョンを選択する必要があります。 –

+1

私は実際にIntelliJを実行していると話しています(IDEはJavaプログラムです)。 – Dan

1

、Javaの環境設定(Launchapad /その他)オープン:

enter image description here

を、リストの一番上に有利なバージョンをドラッグ:export JAVA_HOME=`/usr/libexec/java_home -v 1.x`、Xは、Javaバージョンである:端末から

enter image description here

+2

私のMac版(10.9.1)では、画面が少し違って見えます。システム環境設定から開きます。これは、現在のバージョンのJava(java 8)のみをリストに表示します。 – Dan

+0

java 7を再度インストールすると、リストに追加されます。 – user987339

+0

私はそれが今プラットフォームが1.8だと言ったが、製品は1.7? java -versionは1.8を示します。私は自分のマシンからJava 8を完全に削除する方法を知っていますか? – Dan

5

はOSXマーベリックス(Neeme Praksによるsource)でコマンドラインからJavaのバージョンを切り替える方法のための優れた答えです:

編集し~/.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 [email protected]` 
    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 
24

使用jEnv

システムがhomebrewを実行している場合、あなたは

brew install jenv 

を使用してインストールすることができますが(あなたが最初の最新レシピを取得するためにbrew updateを実行する必要があります)

を使用して、bashのプロファイルに追加します。

この変更を有効にするには、新しいシェルを起動します。

jenv versions 

を使用して利用可能なバージョン

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home 

リストなど、ありますたくさんのより多くのカスタムオプションを

jenv global oracle64-1.8.0.25 

を使用している環境を切り替える:

あなたは、このようにJDKの者を追加することができますディレクトリごとに切り替えたり、1つのシェルで一時的に切り替える方法については、を参照してください。それらのための。

jEnvは、java実行ファイル用のshimスクリプトを作成し、パスの先頭に置くことで動作します。 antやmavenのようなサードパーティ製のJavaツールの中には、JAVA_HOMEがあります。確かJAVA_HOMEが正しく設定されますようにするには、Mavenとグルーヴィーのようなツールのためのjenvのプラグインもあります

jenv enable-plugin export 

を実行します。

+1

zshを使用する場合は、以下のコマンドを使用して.zshrcに追加してください。 $ echo 'export PATH = "$ HOME/.jenv/bin:$ PATH"' >>〜/ .zshrc $ echo 'eval "$ init - ) "'>>〜/ .zshrc –

関連する問題