Eu tenho um JAR com 4 classes, cada uma tem o método Main. Eu quero ser capaz de executar cada um deles conforme a necessidade. Estou tentando executá-lo na linha de comando na caixa Linux.
E.g. The name of my JAR is MyJar.jar
Possui estrutura de diretórios para as principais classes da seguinte maneira:
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
Eu sei que posso especificar uma classe como principal no meu arquivo de manifesto. Mas existe alguma maneira pela qual eu possa especificar algum argumento na linha de comando para executar a classe que eu desejar executar?
Eu tentei isso:
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
E eu recebi este erro:
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(No comando acima, '/home/myhome/datasource.properties' e '/home/myhome/input.txt' são os argumentos da linha de comando).