Вопрос-ответ

How to run a JAR file

Как запустить JAR-файл

Я создал JAR-файл, подобный этому:

jar cf Predit.jar *.*

Я запустил этот JAR-файл, дважды щелкнув по нему (это не сработало). Итак, я запустил его из командной строки DOS следующим образом:

java -jar Predit.jar

Он вызвал исключения типа "Не удалось загрузить основной класс". Итак, я извлек этот JAR-файл.:

jar -xf Predit.jar

и я запустил файл класса:

java Predit

Это сработало хорошо. Я не знаю, почему файл JAR не работал. Пожалуйста, подскажите мне, как запустить файл JAR

Переведено автоматически
Ответ 1

Вам необходимо указать Main-Class в манифесте jar-файла.

Учебное пособие Oracle содержит полную демонстрацию, но вот еще одно с нуля. Вам нужны два файла.:

Test.java:

public class Test
{
public static void main(String[] args)
{
System.out.println("Hello world");
}
}

manifest.mf:

Manifest-version: 1.0
Main-Class: Test

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

Затем запустите:

javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar

Вывод:

Hello world
Ответ 2
java -classpath Predit.jar your.package.name.MainClass
Ответ 3

Перед запуском jar проверьте, Main-Class: classname доступен или нет файл MANIFEST.MF. MANIFEST.MF присутствует в jar.

java -jar filename.jar
Ответ 4

Вы должны добавить в jar манифест, который сообщает среде выполнения java, что такое основной класс. Создайте файл 'Manifest.mf' со следующим содержимым:

Manifest-Version: 1.0
Main-Class: your.programs.MainClass

Измените 'your.programs.MainClass' на ваш фактический основной класс. Теперь поместите файл в Jar-файл, во вложенную папку с именем 'META-INF'. Для этого вы можете использовать любую ZIP-утилиту.

java jar