Ich habe eine JAR mit 4 Klassen, jede hat die Hauptmethode. Ich möchte in der Lage sein, jeden von diesen nach Bedarf auszuführen. Ich versuche es von der Kommandozeile unter Linux Box auszuführen.
E.g. The name of my JAR is MyJar.jar
Die Verzeichnisstruktur für die Hauptklassen lautet wie folgt:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
Ich weiß, dass ich in meiner Manifest-Datei eine Klasse als Hauptklasse angeben kann. Aber gibt es eine Möglichkeit, ein Argument in der Befehlszeile anzugeben, um die Klasse auszuführen, die ich ausführen möchte?
Ich habe es versucht:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
Und ich habe diesen Fehler bekommen:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(Im obigen Befehl sind '/home/myhome/datasource.properties' und '/home/myhome/input.txt' die Befehlszeilenargumente).