Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在同一个jar中为备用main使用manifest.mf类路径?_Java_Classpath_Manifest.mf - Fatal编程技术网

Java 如何在同一个jar中为备用main使用manifest.mf类路径?

Java 如何在同一个jar中为备用main使用manifest.mf类路径?,java,classpath,manifest.mf,Java,Classpath,Manifest.mf,我创建了一个包含两个主要类的可执行jar文件。所有库都包含在jar中,当执行如下操作时,主类工作正常: java-jarmyapplication.jar 但是当我试着像这样运行另一个主类时: java-cp MyApplication.jar my.other.mainClass 它不包括manifest.mf的类路径,并且找不到jar文件中的库 是否有一种简单的方法可以让另一个主类使用manifest.mf中的类路径?或者我应该创建两个单独的可执行jar吗 是否有一种简单的方法可以让另一个主

我创建了一个包含两个主要类的可执行jar文件。所有库都包含在jar中,当执行如下操作时,主类工作正常:

java-jarmyapplication.jar

但是当我试着像这样运行另一个主类时:

java-cp MyApplication.jar my.other.mainClass

它不包括manifest.mf的类路径,并且找不到jar文件中的库

是否有一种简单的方法可以让另一个主类使用manifest.mf中的类路径?或者我应该创建两个单独的可执行jar吗

是否有一种简单的方法可以让另一个主类使用manifest.mf中的类路径?或者我应该创建两个单独的可执行jar吗

JAR清单类路径仅在使用-JAR选项时使用,相反,命令行参数仅在不使用-JAR时解释为类名。不能将这两种方法混用

但是,这并不意味着您必须创建第二个JAR文件。例如,您可以编写一个简单的shell脚本,使用从清单复制的类路径和辅助入口点类名来启动JVM

是否有一种简单的方法可以让另一个主类使用manifest.mf中的类路径?或者我应该创建两个单独的可执行jar吗

JAR清单类路径仅在使用-JAR选项时使用,相反,命令行参数仅在不使用-JAR时解释为类名。不能将这两种方法混用


但是,这并不意味着您必须创建第二个JAR文件。例如,您可以编写一个简单的shell脚本,使用从清单复制的类路径和辅助入口点类名来启动JVM。

您确定问题出在jar中的库上吗?您使用的是什么版本的java

我建议您尝试以下方法:

java -cp MyApplication.jar <add external libraries here> my.other.mainClass
因此,您只需要向jar中还没有的类添加路径。您可以使用来缩短列表


这是另一个有趣的选择。它描述了如何在jar文件中选择一个主类并创建另一个可运行副本。

您确定问题出在jar中的库上吗?您使用的是什么版本的java

我建议您尝试以下方法:

java -cp MyApplication.jar <add external libraries here> my.other.mainClass
因此,您只需要向jar中还没有的类添加路径。您可以使用来缩短列表


这是另一个有趣的选择。它描述了如何在jar文件中选择一个主类并创建另一个可运行的副本。

您可以编写一个类,调用作为其第一个参数使用反射传递的任何类的主方法,并将其配置为jar中的主类。通过这种方式,您可以使用java-jar file.jar my.other.mainClass从同一个jar调用多个main方法

您可以编写一个类,使用反射调用作为第一个参数传递的任何类的main方法,并将其配置为jar中的主类。通过这种方式,您可以使用java-jar file.jar my.other.mainClass从同一个jar调用多个主方法