Я знаю, что файлы jar должны иметь атрибут manifest.mf Main-Class:, чтобы иметь точку входа и сделать файл jar runnable. Теперь у меня есть файл jar, который я построил ниже. Все классы являются частью пакета burrito. Мой файл MANIFEST.MF выглядит следующим образом:Java jar - нет основного атрибута манифеста
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: burrito.Main
, и когда я пытаюсь построить и выполнить с помощью следующих действий:
jar -cvf Burrito.jar Customer.class Main.class Server
.class Store.class MANIFEST.MF
*added manifest
adding: Customer.class(in = 2800) (out= 1424)(deflated 49%)
adding: Main.class(in = 1147) (out= 757)(deflated 34%)
adding: Server.class(in = 3954) (out= 2094)(deflated 47%)
adding: Store.class(in = 3950) (out= 2190)(deflated 44%)
adding: MANIFEST.MF(in = 203) (out= 158)(deflated 22%)*
я получаю:
Burrito.jar
*java -jar Burrito.jar
no main manifest attribute, in Burrito.jar*
Я пробовал различные путей, а также пытается использовать -m-переключатель (cvfm). Я попытался следующие:
java -cp Burrito.jar burrito.Main
, а также
java -cp Burrito.jar Main
, что и сказать мне Ошибка: Не удалось найти или загрузить основной класс
Я вчитывался форумы, и я не могу показаться «Google» моим способом решения здесь. Конечно, барабан Netbeans работает, но мне нужно построить свою собственную. Я заглянул в банку Netbeans, и я вижу, что у меня есть две папки, буррито и META-INF. Конечно, файл манифеста находится в папке META-INF, а папка burrito содержит файлы классов. Я не уверен, чтобы точно имитировать это, и я был бы рад просто запустить эту программу.
Любые указатели/подсказки?
Действительно, jar -cvfm Burrito.jar MANIFEST.MF burrito/*. Class приводит к правильно исполняемому банку. – patricio2626