Запустите файл JAR из командной строки и укажите путь к классу
Я составил JAR file и указал основной класс в манифесте (я использовал Eclipse экспорт
4 ответов:
если указать
-jarтут будет проигнорировано.С документация:
при использовании этого параметра файл JAR является источником всех пользовательских классов, а другие параметры пути к пользовательскому классу игнорируются.
вы также не можете "включить" необходимые файлы jar в другой файл jar (вам нужно будет извлечь их содержимое и поместить .файлы классов в вашу банку файл)
у вас есть два варианта:
- включить все файлы jar из в манифест (вы можете использовать относительные пути)
- указать все (в том числе ваш jar) в командной строке с помощью
-cp:java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
запустите файл jar и укажите путь к классу следующим образом:
java -cp <jar_name.jar:libs/*> com.test.App
jar_name.jar- это полное имя банки, которую вы хотите выполнить
libs/*это путь к вашей зависимости JARs
com.test.App- это полное имя класса из JAR, который имеетmain(String[])методjar и зависимый jar должны иметь разрешения на выполнение.
вы можете сделать это в оболочке unix:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Mainвы можете сделать это в Windows powershell:
java -cp "MyJar.jar;lib\*" com.somepackage.subpackage.Main
кроме того, используйте манифест, чтобы указать путь к классу и основной класс, если хотите, поэтому вам не нужно использовать
-cpили укажите основной класс. В вашем случае он будет содержать такие строки:Main-Class: com.test.App Class-Path: lib/one.jar lib/two.jarк сожалению, вам нужно прописать каждую банку в манифесте (не biggie, как вы делаете только один раз, и вы можете использовать скрипт для создания файла или использовать инструмент сборки, такой как ANT или Maven или Gradle). И ссылка должна быть относительным или абсолютным каталогом, где ты управляешь
java -jar MyJar.jar.затем выполните его с
java -jar MyJar.jar
Comments