Mam JAR z 4 klasami, z których każda ma metodę Main. Chcę móc uruchomić każdy z nich zgodnie z potrzebami. Próbuję go uruchomić z wiersza poleceń w systemie Linux.
E.g. The name of my JAR is MyJar.jar
Ma następującą strukturę katalogów dla głównych klas:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
Wiem, że mogę określić jedną klasę jako główną w moim pliku manifestu. Ale czy istnieje sposób, w jaki mogę podać argument w wierszu poleceń, aby uruchomić dowolną klasę, którą chcę uruchomić?
Próbowałem tego:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
I dostałem ten błąd:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(W powyższym poleceniu argumentami wiersza poleceń są „/home/myhome/datasource.properties” i „/home/myhome/input.txt”).