这一直困扰着我很长时间。
在 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选项中有多个jars/ears,java如何找到主类或入口点。
我了解,我们可以在 MANIFEST 文件中指定主类,例如:Main-Class: MyPackage.MyClass
但我看到上面的 jars 在 MANIFEST 文件中没有 Main-Class 条目。
- JAVA如何找到,从哪里开始,哪个类文件有main?
- 如果类路径中的两个 jar 有清单文件,指定 Main-Class,会发生什么?