我有一個帶有4個類的JAR,每個類都有Main方法。我希望能夠根據需要運行其中的每一個。我試圖從Linux上的命令行中運行它。如何從Jar中運行一個不是它的Manifest文件中的Main-Class的類
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' 和「/家庭/ MYHOME /input.txt'是命令行參數)。
只需將它們打包到不同的罐子中,使用另一個jar來保存依賴關係? – Nick 2011-03-29 15:05:22
爲什麼不能有基於命令行參數調用具體的方法(從4)單主類? – 2011-03-29 15:05:53