Как создать файл .jar с помощью терминала

Я пытаюсь создать файл .jar, используя терминал mac, но у меня есть проблемы. Я выполнил шаги здесь, но не увенчался успехом. Я получил это сообщение об ошибке:

Failed to load Main-Class manifest attribute from
aclient.jar

Итак, как именно вы это делаете? Моя java-программа называется Main.java, и я скомпилировал ее в файл .class. Теперь что мне делать?

Спасибо

Ответы

Ответ 1

1) Убедитесь, что все необходимые файлы находятся в каталоге, вы открыли терминал/Командная строка и перешли к этому каталогу.

2) Скомпилируйте класс .java, например HelloWorld.java с

javac HelloWorld.java

3) Это создаст файл .class, необходимый для файла JAR.

4) Затем создайте файл манифеста (сохраненный с использованием расширения .txt) с помощью текстового редактора и введите следующий

Main-Class: HelloWorld

или независимо от вашего имени файла.

5) Затем создайте файл JAR с помощью этого кода:

jar cfm HelloWorld.jar Manifest.txt HelloWorld.class

6) Запустите файл:

java -jar HelloWorld.jar

Если что-то кажется неясным, проконсультируйтесь с этими веб-сайтами: создание файла jar и настройка точки входа приложений.

Надеюсь, это поможет другим, подбадривает Тома!

Edit:

Следуя за комментариям, обратите внимание, что для включения нескольких файлов в банку вам нужно использовать:

javac *.java

за которым следует

jar cfm HelloWorld.jar Manifest.txt *.class

Ответ 2

Да, нам нужно использовать новую строку в конце имени класса... Это сработало для меня

то есть. Основной класс: HelloWorld

 It will look like this in Notepad++
 1.Main-Class: HelloWorld
 2.

Ответ 3

Возможно, это поможет re Manifest.txt файл:

Предупреждение. Текстовый файл должен заканчиваться новой строкой или возвратом каретки. Последняя строка не будет правильно проанализирована, если она не заканчивается новой строкой или возвратом каретки.

Ответ 4

Вам нужен текстовый файл, который определяет основной класс. например

% cat MyMain
Main-Class: HelloWorld

затем

%jar cvfm foo.jar MyMain *.class
%java -jar foo.jar
Hello world 

Смотрите: http://java.sun.com/j2se/1.4.2/runtime.html#example