Javaバージョン(例:1.6.0_31)を知っていると、プログラムで(Javaプログラム内から)対応するJREがWindowsマシンのディスク上のどこにあるかを見つけるにはどうすればよいですか?
4 に答える
java.home
システム環境変数の値を読み取ることで利用できるはずです。http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.htmlを参照してください 。
ただし、上記のリンクから、セキュリティ マネージャーがあなたをブロックする可能性があることに注意してください。
セキュリティに関する考慮事項: システム プロパティへのアクセスは、Security Manager によって制限される場合があります。これは、アプレットで最も頻繁に発生する問題であり、一部のシステム プロパティの読み取りとシステム プロパティの書き込みが妨げられています。アプレットでのシステム プロパティへのアクセスの詳細については、「Java リッチ インターネット アプリケーションをさらに活用する」レッスンのシステム プロパティを参照してください。
System.getProperty("java.home");
プログラムを実行している JRE のインストール ディレクトリが返されます。
詳細については、次のリンクも確認してください: http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
現在のシステム プロパティの値を確認できjava.home
ます。
String installDirOfJRE = System.getProperty("java.home");
返された値に基づいて、他のバージョンの JRE が同じ親フォルダーにある可能性が高いと期待できます(ただし、期待するだけです) 。そのため、見つけたいバージョンを検索してみてください。
他に選択肢がないのではないかと心配しています...
System.getProperty("java.runtime.version");
実行中の VM のバージョンを示します。