Как создать файл .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