2009-06-17 12 views
2

コマンドラインでjava -versionによって返されるバージョンは、/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDKリンクによって決まります。JAVA_HOMEが/ Library/Java/Home(/System/Library/Frameworks/JavaVM.framework/Homeへのリンク)Java Preferences.appはデフォルトのJavaバージョンを変更しません

コマンドラインでjava -versionが返すバージョンは、JAVA_HOMEの場合はJava Preferences.appによって決まります設定されていません。

私はこれを試行錯誤で見つけました。私はこれが文書化されているところに興味があります。

CurretntJDKの変更が安全かどうかはわかりません。 Java Preferences.appはそれを変更しません。

答えて

4

はcurrentJDKを変更しないでください、私は、それはまた私のjava

+0

を私はあまりにもそれをやった:) –

1

を台無しに、あなたはあなたの.bashrc/.profileにしてJAVA_HOMEを設定することは避けてください。それが設定されている場合は、JavaのPreferences.appは効果がありませんし、

java -version 

は常にそれが「デフォルト」バージョンとしてみなすものを返します(MacのOS X Leopard上で、私の場合には、これは、Java 1.5です)。

2

環境変数をJAVA_HOMEに設定することは、セッション内でJavaバージョンを指定する適切な方法です。 info.plistファイルにJAVA_HOMEを指定するか、アプリケーションを起動する前に環境変数を設定するローダアプリケーションを作成します。

Javaの使用可能なバージョンはプラットフォーム/ OSのバージョンによって異なるため、JAVA_HOMEの設定は一般的には好ましくありません。たとえば、64ビットIntel MacのみがJava 6 Leopardを備えています。 32ビットと64ビットの両方のIntel MacにはSnow LeopardでJava 6が搭載されています。

TigerまたはLeopardを搭載した32ビットIntel Core Duo Macをサポートしたい場合は、ターゲットJava 1.5が最適です。 Java 1.6 JREはJava 1.5アプリケーションを実行します。 Java 1.6が必要な場合は、Leopardを搭載した64ビットIntelまたはSnow Leopard搭載のIntelをユーザーから要求する必要があります。 SoyLatteがあります。SoyLatteは、TigerとLeopardのユーザーにJava 1.6 32ビットの代替手段を提供しています。

JAVA_HOMEの設定に基づいて「java -version」が変更されています。お気づきのように、Javaの設定でも変更されています。

SoyLatteなどのアプリケーションでJava JREを配布している場合を除いて、実際にはJAVA_HOMEを設定しないでください。その場合、ターゲットバージョンとパスがそこにあることがわかります。それ以外の場合は、OSによって提供されている特定のバージョンに依存することはできません。

あなたがここにAppleのデベロッパーのウェブサイト上のドキュメントを見つけることができます。 http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/01-JavaOverview/JavaOverview.html

関連する問題