Подтвердить что ты не робот

Создание Java файла .jar

Я изучаю Java, и у меня есть проблема. Я создал 6 разных классов, каждый из которых имеет собственный метод main(). Я хочу создать исполняемый .jar для каждого класса, то есть 6 исполняемых файлов .jar.

До сих пор я пробовал

java -jar cf myJar.jar myClass.class

и я получаю "Невозможно получить доступ к jarfile cf". Я делаю что-то неправильно, но я не знаю, что. Я также использую Eclipse IDE, если это что-то значит.

4b9b3361

Ответ 1

Чтобы создать файл .jar, вам нужно использовать jar вместо java:

jar cf myJar.jar myClass.class

Кроме того, если вы хотите сделать его исполняемым, вам нужно указать точку входа (т.е. класс с public static void main(String[] args)) для вашего приложения. Обычно это достигается путем создания файла manifest, который содержит заголовок Main-Class (например, Main-Class: myClass).

Однако, как отметил Марк Петерс, с JDK 6 вы можете использовать опцию e для определения точки входа:

jar cfe myJar.jar myClass myClass.class 

Наконец, вы можете выполнить его:

java -jar myJar.jar

См. также

Ответ 2

Синус, о котором вы упоминали, что вы используете Eclipse... Eclipse может создавать JAR для вас, если вы запускаете каждый класс, который имеет основной один раз. Щелкните правой кнопкой мыши проект и выберите "Экспорт", затем выберите "Runnable JAR file" в папке Java. Выберите имя класса в конфигурации запуска, выберите место для сохранения банки и определите, как обращаться с библиотеками, если это необходимо. Нажмите "Готово", протрите руки на брюках.

Ответ 3

Часто вам нужно добавить больше в манифест, чем то, что вы получаете с помощью переключателя -e, и в этом случае синтаксис:

jar -cvfm myJar.jar myManifest.txt myApp.class

Что читается: "создайте подробное имя jarFilename manifestFilename", за которым следуют файлы, которые вы хотите включить.

Обратите внимание, что имя файла манифеста, который вы поставляете, может быть любым, так как jar автоматически переименует его и поместит в нужное место в файле jar.

Ответ 4

способ 1:

Пусть у нас есть java файл test.java, который содержит тест основного класса теперь сначала мы скомпилируем наш java файл просто как javac test.java мы создаем файл manifest.txt в том же каталоге, и мы пишем Main-Class: mainclassname. например:

  Main-Class: testa

то мы создаем файл jar с помощью этой команды:

  jar cvfm anyname.jar manifest.txt testa.class

тогда мы запускаем файл jar с помощью этой команды: java -jar anyname.jar

способ 2:

Пусть у нас есть один пакет с именем один и все классы внутри него. то мы создаем файл jar с помощью этой команды:

  jar cf anyname.jar one

то мы открываем файл manifest.txt внутри каталога META-INF в файле anyname.jar и записываем

  Main-Class: one.mainclassname 

в третьей строке., тогда мы запускаем файл jar с помощью этой команды:

  java -jar anyname.jar

сделать файл jar более чем одним файлом класса: jar cf anyname.jar one.class two.class three.class......

Ответ 5

Поместите все 6 классов в 6 разных проектов. Затем создайте файлы jar из всех 6 проектов. Таким образом вы получите 6 исполняемых файлов jar.