Como executar uma classe do Jar que não é a classe principal em seu arquivo de manifesto
Eu tenho um JAR com 4 classes, cada uma com o método Main. Quero poder 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
Tem uma 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 executa
Tentei o seguinte:
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