2009-09-13 3 views

ответ

19

Setting an Application's Entry Point См

Если у вас есть приложение в комплекте в файле JAR, вам нужно каким-то образом, чтобы указать, какой класс внутри файла JAR является входной точкой вашего приложения. Вы предоставляете эту информацию с заголовком Main-Class в манифесте, который имеет общий вид:

Main-Class: classname 

Значение имя_класса это имя класса, который является точкой входа вашего приложения.

Напомним, что точка входа является класс, имеющий метод с подписью

public static void main(String[] args). 

После того, как вы установили хедер Main-Class в манифесте, вы затем запустить файл JAR, используя следующую форму команда java:

java -jar JAR-name 

Выполняется основной метод класса, указанного в заголовке основного класса.


Сначала мы создаем текстовый файл с именем Manifest.txt со следующим содержанием:

Main-Class: MyPackage.MyClass 

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

Затем мы создаем файл JAR с именем myJar.jar, введя следующую команду:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class 

Это создает файл JAR с манифестом со следующим содержанием:

Manifest-Version: 1.0 
Created-By: 1.6.0 (Sun Microsystems Inc.) 
Main-Class: MyPackage.MyClass 

Когда вы запускаете JAR-файл с помощью следующей команды, Основной метод MyClass выполняет:

java -jar MyJar.jar 
-1

Я имел такую ​​же ошибку. Проблема заключалась в том, что Windows 10 внезапно решила установить мою папку рабочей области только для чтения.

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

Смежные вопросы