などのコア Java クラスを含む jar を見つける最良の方法は何java.lang.Object
ですか? を使用していますがJAVA_HOME
、JDK がインストールされている場合にのみ機能することがわかりました。java
コマンドラインから実行した場合に使用される標準ライブラリの場所を見つけるにはどうすればよいですか?
また、Python スクリプトからこれを行う必要があるため、Java ライブラリで応答しないでください。
java
Oracle の JVM から起動すると、通常はすべてのものを含むsun.boot.class.path
を指すようにプロパティが設定されます。rt.jar
java.lang
できることはSystem.getProperty("sun.boot.class.path")
、このファイルがあるはずの場所を取得して取得する単純な Java プログラムを起動することです。詳細については、こちらをご覧ください。
環境が正しい場合(JAVA_HOME
が設定されているなど)、上記は機能するはずです。そうでなければ、ニワトリが先か卵が先かの問題だと思います ;-)
Pythonには、「java」または「java.exe」実行可能ファイルの場所を見つける手段が必要です。すべてのシンボリックリンクをたどって、実際の場所を明らかにします。私のPythonはさびていますが、私はその仕事をするとshutil.which
思います。os.path.realpath
コアクラスは../lib/rt.jar
、Java実行可能ファイルに関連します。
Linuxを使用している場合は、シェルコマンド「typejava」を使用して出力を解析できます。