Создание и создание автономного файла Jar с помощью командной строки
Моя простая программа "Здравствуй, мир" имеет следующую файловую структуру:
root TestClass.class manifest.txt
Это источник, содержащийся в TestClass.java:
package root;
public class TestClass {
public static void main(String[] args) {
System.out.println("Executable jar worked!");
}
}
manifest.txt содержит это (он заканчивается переводом строки):
Main-Class: TestClass
В cmd.exe (windows 7, если необходимо) я создал.jar с помощью следующей команды:
jar cvfm TestClass.jar manifest.txt TestClass.class
который произвел следующее:
added manifest
adding: TestClass.class(in = 439) (out= 303)(deflated 30%)
Проблема возникает, когда я пытаюсь извинить этот новый файл JAR. Сначала я попытался просто ввести TestClass.jar, и это не дает абсолютно никакого вывода - эквивалентно просто нажатию Enter.
Далее я попробовал это:
java -jar TestClass.jar
который дал мне:
Error: Could not find or load main class TestClass
Поэтому мой вопрос заключается в следующем: как мне создать и запустить файл jar исключительно в командной строке, чтобы выходные данные можно было увидеть здесь в cmd?
Я хочу, чтобы он был автономным и исполняемым так же, как, скажем, chrome.exe. Заранее спасибо.
1 ответ
Вы должны указать полное имя класса в файле манифеста
В вашем случае вы должны указать имя пакета root, поэтому ваш manifest.txt должен содержать следующее
Main-Class: root.TestClass
Примечание. Вы должны поместить файл TestClass.class в каталог с именем root(т. Е. Имя пакета должно совпадать с именем каталога)
root/TestClass.class
используйте эту команду для создания файла JAR
jar cvfm Test.jar manifest.txt root/TestClass.class