【发布时间】:2011-07-25 09:13:24
【问题描述】:
我有一个包含 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
我知道我可以在我的清单文件中指定一个类作为主类。但是有什么方法可以让我在命令行上指定一些参数来运行我想运行的任何类?
我试过了:
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' 是命令行参数)。
【问题讨论】:
-
只是将它们打包在不同的 jar 中,使用另一个 jar 来保存依赖关系?
-
为什么没有单个主类根据命令行参数调用特定方法(4 个)?
标签: java jar executable-jar