如何从 Jar 运行一个类,该类不是其清单文件中的主类
2022-08-31 06:03:25
我有一个包含4个类的JAR,每个类都有Main方法。我希望能够根据需要运行其中的每一个。我正在尝试在Linux盒子上从命令行运行它。
E.g. The name of my JAR is MyJar.jar
它具有主类的目录结构,如下所示:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
我知道我可以在清单文件中指定一个类作为main。但是,有没有办法在命令行上指定一些参数来运行我想要运行的任何类?
我试过这个:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
我得到了这个错误:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(在上面的命令中,“/home/myhome/datasource.properties”和“/home/myhome/input.txt”是命令行参数)。