Как запустить класс из Jar, который не является основным классом в его файле манифеста

У меня есть JAR с 4 классами, каждый из которых имеет метод Main. Я хочу иметь возможность запускать каждый из них по мере необходимости. Я пытаюсь запустить его из командной строки в Linux.

E.g. The name of my JAR is MyJar.jar

Он имеет следующую структуру каталогов для основных классов:

com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class

Я знаю, что могу указать один класс в качестве основного в моем файле манифеста. Но есть ли способ указать какой-либо аргумент в командной строке для запуска того класса, который я хочу запустить?

Я пробовал это:

jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt

И получил эту ошибку:

com/mycomp/myproj/dir2/MainClass2.class : no such file or directory

(В приведенной выше команде, ' /home/myhome/datasource.properties 'и' /home/myhome/input.txt '- аргументы командной строки).

147
задан Bhushan 29 March 2011 в 15:02
поделиться