J'ai un JAR avec 4 classes, chacune a la méthode principale. Je veux être en mesure d'exécuter chacun de ceux-ci selon les besoins. J'essaye de l'exécuter à partir de la ligne de commande sur la boîte Linux.
E.g. The name of my JAR is MyJar.jar
Il a la structure de répertoires pour les classes principales comme suit:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
Je sais que je peux spécifier une classe comme principale dans mon fichier Manifest. Mais y a-t-il un moyen par lequel je peux spécifier un argument sur la ligne de commande pour exécuter la classe que je souhaite exécuter?
J'ai essayé ceci:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
Et j'ai eu cette erreur:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(Dans la commande ci-dessus, «/home/myhome/datasource.properties» et «/home/myhome/input.txt» sont les arguments de ligne de commande).