У меня есть 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" являются аргументами командной строки).