Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > запуск jar


Автор: Антоннио 10.4.2008, 14:08
  Я создаю примитивный jar-архив, хочу его с него запустить, с помощью команды -cp(-classpath) либо используя ctvm настройки, при создании jar, добавляю свой манифест, но в jar он почему-то не включаеться(стандартные две строчки  и все) строчку Main-class не создает :( :
Код

java ctvm mainjar.jar MANIFEST.MF *.class
added manifest
adding: Log2HTML.class(in = 1596) (out = 865)(deflated 45%)

java -jar mainjar.jar
Failed to load Main-Class manifest attribute from mainjar.jar

java -cp mainjar.jar log2HTML
Exception in thread "main" java.lang.NoClassDefFoundError: log2HTML

Автор: Kangaroo 10.4.2008, 14:22
Попробуй:
Цитата

jar cvfm mainjar.jar MANIFEST.MF *.class

Автор: Антоннио 10.4.2008, 17:10
Цитата(Kangaroo @ 10.4.2008,  14:22)
Попробуй:
Цитата

jar cvfm mainjar.jar MANIFEST.MF *.class

 Да попробывал, но выписывает всю туже проблему :

Failed to load Main-Class manifest attribute from mainjar.jar

Автор: Kangaroo 10.4.2008, 17:16
А покажи, что у тебя в MANIFEST.MF

Автор: Антоннио 10.4.2008, 17:37
 Так я и говорю, что в манифесте мое все нормально :
Цитата

Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Main-class: Log2HTML


а вот если просмотреть Jar фаил, то в том манифесте нет третего пункта:
Цитата

Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)


Я не знаю, по чему так, даже не догадаюсь, но плс к этому не могу запусть jar даже если прописую classpath
Цитата

java -cp mainjar.jar log2HTML
Exception in thread "main" java.lang.NoClassDefFoundError: log2HTML

Автор: Kangaroo 10.4.2008, 17:42
Цитата(Антоннио @  10.4.2008,  17:37 Найти цитируемый пост)
Main-class: Log2HTML

Main-Class

Class - с большой буквы

Автор: Антоннио 10.4.2008, 17:52
Поменял - но все так же и осталось - те же ошибки...

Автор: Kangaroo 10.4.2008, 17:53
Цитата(Антоннио @  10.4.2008,  17:37 Найти цитируемый пост)
java.lang.NoClassDefFoundError: log2HTML


Цитата(Kangaroo @  10.4.2008,  17:42 Найти цитируемый пост)
Main-class: Log2HTML

А сам класс с заглавной или строчной?  smile 

Автор: Антоннио 10.4.2008, 20:34
С большой буквы, все вроде правильно... 

вернее теперь пишет :
Цитата

jar cvfm mainjar.jar MANIFEST.MF *.class
added manifest
adding: Log2HTML.class(in = 1596) (out = 865)(deflated 45%)

java -jar mainjar.jar
Failed to load Main-Class manifest attribute from mainjar.jar


и всеравно в manifest в сомом jar'е не добавило...
Цитата

Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)



Автор: romanarey 25.6.2008, 12:16
содержание файла манифеста ,например bin.mf,  должен быть такой 
============
Main-Class: Log2HTML

============

с переходом на новую строку, 

потом делаю так
C:\PROGRA~1\Java\jdk1.6.0_01\bin\jar.exe cvfm bin/bin.jar bin/bin.mf bin/*.class

обратить внимание на 3 последних параметра - путь+название джара, путь+название манифеста, путь+маска файлов- который нужно в 
джар поместить. все пути должны существовать.


Так работает точно!!! 
Создает джар с файлами .class в bin/bin.jar 
Джар состоит из:
папка META-INF из файлом MANIFEST.MF уже переименованным,
и классы которые нашлись по маске bin/*.class, они могут быть в отдельной папке или в корне джара, в зависимости от того как Вы указывали парамерты. - просто поэкспериментируйте и все поймете.

Вот только не знаю как в папку META-INF положить еще и несколько дополнительный файлов, например лицензий на что то, что нужно 
в манифесте прописывать?????

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)