6

などのコア Java クラスを含む jar を見つける最良の方法は何java.lang.Objectですか? を使用していますがJAVA_HOME、JDK がインストールされている場合にのみ機能することがわかりました。javaコマンドラインから実行した場合に使用される標準ライブラリの場所を見つけるにはどうすればよいですか?

また、Python スクリプトからこれを行う必要があるため、Java ライブラリで応答しないでください。

4

4 に答える 4

2

javaOracle の JVM から起動すると、通常はすべてのものを含むsun.boot.class.pathを指すようにプロパティが設定されます。rt.jarjava.lang

できることはSystem.getProperty("sun.boot.class.path")、このファイルがあるはずの場所を取得して取得する単純な Java プログラムを起動することです。詳細については、こちらをご覧ください。

環境が正しい場合(JAVA_HOMEが設定されているなど)、上記は機能するはずです。そうでなければ、ニワトリが先か卵が先かの問題だと思います ;-)

于 2012-11-24T23:00:10.197 に答える
0

Pythonには、「java」または「java.exe」実行可能ファイルの場所を見つける手段が必要です。すべてのシンボリックリンクをたどって、実際の場所を明らかにします。私のPythonはさびていますが、私はその仕事をするとshutil.which思います。os.path.realpath

コアクラスは../lib/rt.jar、Java実行可能ファイルに関連します。

于 2012-11-24T23:12:18.690 に答える
0

Linuxを使用している場合は、シェルコマンド「typejava」を使用して出力を解析できます。

于 2012-11-24T22:08:08.277 に答える