Tengo un JAR con 4 clases, cada una tiene el método Main. Quiero poder ejecutar cada uno de ellos según la necesidad. Estoy tratando de ejecutarlo desde la línea de comandos en el cuadro de Linux.
E.g. The name of my JAR is MyJar.jar
Tiene estructura de directorio para las clases principales de la siguiente manera:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
Sé que puedo especificar una clase como principal en mi archivo de manifiesto. Pero, ¿hay alguna forma en la que pueda especificar algún argumento en la línea de comando para ejecutar la clase que deseo ejecutar?
Intenté esto:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
Y recibí este error:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(En el comando anterior, '/home/myhome/datasource.properties' y '/home/myhome/input.txt' son los argumentos de la línea de comandos).