0

これは長い間私を悩ませてきました。

Linux では、プロセス cmdLine が次のようになっていることがわかります。

/usr/java/jdk1.7.0_65/bin/java-Dsosa-Djava.security.policy=conf/sosa.policy-Dlog4j.configuration=properties/sosa-log4j.properties-Xms256m-Xmx1024m-classpath:/opt/HP/jboss/standalone/deployments/hpsa.ear/lib/sosa.jar:/opt/HP/jboss/standalone/deployments/hpsa.ear/lib/mwfm.jar

理解します:

 -D : we specify property
 -classpath : we specify the path to be searched 

質問: JVM インスタンスの作成中に、-classpath オプションに複数の jar/ear がある場合、Java はどのようにしてメイン クラスまたはエントリ ポイントを見つけますか。

わかりました。次のように MANIFEST ファイルでメイン クラスを指定できます。Main-Class: MyPackage.MyClass

しかし、上記のjarには、MANIFESTファイルにメインクラスのエントリがありません。

  1. JAVA は、どのクラス ファイルに main があるか、どこから始めればよいかをどのように見つけますか?
  2. また、クラスパス内の 2 つの jar にメニフェスト ファイルがあり、Main-Class を指定している場合、どうなりますか?
4

1 に答える 1