java eclipse создать исполняемый jar - PullRequest
3 голосов
/ 17 ноября 2011

Я использовал eclipse для создания исполняемого файла jar. Он полагается на другие банки.
В Eclipse, это просто, что вам просто нужно выбрать Extract required libraries into generated JAR.
Вы можете создать исполняемый файл. Это может быть выполнено в любых местах, где установлена ​​JRE.

Но если я использую командную строку для компиляции jar.
javac -classpath [external jars] *.java
jar cfm [a name].jar manifest *.class [external jars]

Может генерировать банку. Но баночка может быть выполнена только в той директории, где она создана. Если я помещаю его в другой каталог или машину, он жалуется NoClassDefFoundError.

Итак, мой вопрос в том, как я могу создать исполняемый файл jar, используя командную строку в качестве Eclipse.

Ответы [ 3 ]

3 голосов
/ 17 ноября 2011

Файл jar не может иметь внутри jar зависимостей. В случае Eclipse он распакует все классы из jar-зависимостей и объединит его в ваш единственный jar-файл вместе с вашими файлами классов. Если не в пути затмения, вам нужно

1) Создайте файл манифеста, в котором перечислены все банки зависимостей

Manifest-Version: 1.0
Main-Class: Your Main class
Class-Path: dependency1.jar dependency2.jar dependency3.jar
 dependency4.jar dependency5.jar

2) Создайте свой jar-файл с файлами классов, используя путь к классу, включая все jar-файлы зависимостей, и используя созданный выше файл mainfest.

3) В этой же папке, где вы создали свой jar-файл, поместите все jar-файлы зависимостей.

Теперь ваша папка будет выглядеть так

yourjar.jar (с файлом манифеста, который вы создали выше) dependency1.jar dependency2.jar dependency3.jar dependency4.jar dependency5.jar

4) Теперь, если вы хотите поделиться этим, вам нужно поделиться этой папкой, и вы можете запустить свой jar из этой папки. Это ваша исполняемая папка, и вы можете запустить ее из любого места.

2 голосов
/ 17 ноября 2011

Eclipse использует Ant для упаковки jar-файла, вы можете сохранить ant-сценарий, который eclipse использует для создания jar, отметив флажок Save Ant File в окне экспорта:

screenshot

Таким образом, вы можете сгенерировать скрипт Ant Build.xml и затем запустить его, используя ant прямо из командной строки, без необходимости использовать eclipse.

0 голосов
/ 17 ноября 2011

Мой предпочтительный метод создания исполняемого файла jar - использовать утилиту one-jar. У меня есть пост в блоге, в котором обсуждается, как использовать его в maven и ant: мой пост в одном банке

...