У мене є 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
Я знаю, що я можу вказати один клас як основний у своєму файлі Manifest. Але чи є спосіб, за допомогою якого я можу вказати якийсь аргумент у командному рядку для запуску того класу, який я хочу запустити?
Я спробував це:
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' є аргументами командного рядка).