Создание и создание автономного файла 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 
Другие вопросы по тегам