8

私のコンピュータには 2 つの Java バージョンがあります。

/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

1.6.0 がデフォルトに設定されています。Java プログラムで 1.7 を実行するにはどうすればよいですか?

追加しようとしました:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home

私の.zshrcファイルに。javaしかし、これは端末コマンドのパスを変更するだけのようです。

また、次のように HOME シンボリックリンクを変更しようとしました:

cd /Library/Java
mv Home Home-1.6
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/ Home

これはまったく効果がありませんでした。

Javaチェンジャーソフトウェアも試しました: http://www.guigarage.com/2013/02/change-java-version-on-mac-os/ しかし効果はありません。

.app や .jar ファイルなどの Java プログラムを 1.7 バージョンでクリックするだけで起動する方法はありますか?

4

3 に答える 3

11

OS X (少なくとも 10.8) は次のパスを使用していると思います。

  • JRE:/System/Library/Frameworks/JavaVM.framework/Versions/Current
  • JDK:/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

これらは 1.7 インストールを指すように更新できるシンボリック リンクです。

これはかなり簡単に確認できます。

a) を実行which javaして、どの Java 実行可能ファイルが実行されているかを確認します。理論的には、それは/usr/bin/java.

b)ls -laJava実行可能ファイルで実行すると、それがどこを指しているかがわかります(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 私のマシン上)。

これにより、.jar実行の問題が整理されるはずです。Java アプリケーションが でラップされている場合は.app、もう少し複雑だと思います。メモリが機能する場合、使用される Java のバージョンは で使用される に依存しJavaApplicationStubます.app

于 2013-09-27T09:13:49.523 に答える
2
$ edit ~/.profile

#Java 1.8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
export PATH=${PATH}:${JAVA_HOME}


$ java -version

java version "1.8.0_20-ea"

手順は次のとおりです。

http://ukitech.blogspot.com/2014/04/switching-version-of-java-on-mac.html

于 2014-04-30T19:50:17.710 に答える
1

Mac または Linux の両方で、いつでもプロファイルに追加できます。~/.profile ファイルが存在しない場合に作成し、そこに次の行を作成します。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home

これは機能するはずです。.zshrc と .bash_profile は、ターミナル ウィンドウが開いたときにのみ読み込まれ、グラフィカル環境の起動時にプロファイルが読み込まれます。

于 2014-04-30T14:12:58.920 に答える