Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Failed to load Main-Class manifest attribute from


Автор: barin_Student 11.3.2010, 12:36
Нужно запустить jar файл
запускаю java -jar test.jar
Ярик не мой, определит где мэйн класс не знаю как , вот манифест:
Код

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

Догадываюсь, что если  добавить в манифест:
Main-Class: %MAIN_CLASS%
Но мэйн то я не могу найти((( , какой выход из ситуации можете подсказать?))

Автор: LSD 11.3.2010, 13:14
Цитата(barin_Student @  11.3.2010,  12:36 Найти цитируемый пост)
Но мэйн то я не могу найти((( , какой выход из ситуации можете подсказать?)) 

Искать этот класс smile

Для начала распакуй архив и пристально посмотри на все классы, возможно удастся догадаться по имени какой класс содержит main(). Если не поможет берешь javap и смотришь какие методы содержит каждый класс, до тех пор пока не найдешь класс с main().

Автор: Samotnik 11.3.2010, 13:31
barin_Student, в тотал коммандере :
нажимаешь на жарку  жмешь Alt+F7 ставишь галочку "поиск в архиве" ключевое слово пишешь public static void main должно помочь. 

Автор: barin_Student 11.3.2010, 13:31
Цитата(LSD @ 11.3.2010,  16:14)
Цитата(barin_Student @  11.3.2010,  12:36 Найти цитируемый пост)
Но мэйн то я не могу найти((( , какой выход из ситуации можете подсказать?)) 

Искать этот класс smile

Для начала распакуй архив и пристально посмотри на все классы, возможно удастся догадаться по имени какой класс содержит main(). Если не поможет берешь javap и смотришь какие методы содержит каждый класс, до тех пор пока не найдешь класс с main().

это вариант я счас пытаюсь реализовать, счас декомпильнул.. и посиком займусь. Нету станадртных средств?

Автор: barin_Student 11.3.2010, 13:57
Цитата(Samotnik @ 11.3.2010,  16:31)
barin_Student, в тотал коммандере :
нажимаешь на жарку  жмешь Alt+F7 ставишь галочку "поиск в архиве" ключевое слово пишешь public static void main должно помочь.

Вообщем я нашел main.class .
Декомпильнул, и посиком нашел.
Теперь манифест:
Код

Manifest-Version: 1.0
Created-By: 1.3.1_15 (Sun Microsystems Inc.)
Main-Class: KMU.class

ошибка осталась точно такой же((( . Есть еще причины для этой ошибки?

Добавлено через 3 минуты и 50 секунд
Сорри не в тему((: 
а что такое javaw?
у меня в инструкции написанно :
javaw -jar kmu.jar
 smile

Добавлено через 6 минут и 28 секунд
а я запускаю через java -jar smile 

Автор: Samotnik 11.3.2010, 14:10
Цитата(barin_Student @  11.3.2010,  12:57 Найти цитируемый пост)
а что такое javaw?

javaw.exe - оболочка JVM для запуска программ, написанных на Java, от java.exe отличается тем, что не открывает консольное окно. 

Автор: batigoal 11.3.2010, 14:12
Цитата(barin_Student @  11.3.2010,  14:57 Найти цитируемый пост)

ошибка осталась точно такой же((( . Есть еще причины для этой ошибки?

Во-первых, не KMU.class, а просто KMU, а во-вторых, неужели он действительно в корневом пакете?

Автор: Samotnik 11.3.2010, 14:14
Цитата(barin_Student @  11.3.2010,  12:57 Найти цитируемый пост)
Main-Class: KMU.class

попробуй так
Main-Class: KMU

Автор: barin_Student 11.3.2010, 14:15
Цитата(batigoal @ 11.3.2010,  17:12)
Цитата(barin_Student @  11.3.2010,  14:57 Найти цитируемый пост)

ошибка осталась точно такой же((( . Есть еще причины для этой ошибки?

Во-первых, не KMU.class, а просто KMU, а во-вторых, неужели он действительно в корневом пакете?

попробовал KMU , а надо вложения указывать? Счас попробую smile 

Автор: Samotnik 11.3.2010, 14:15
batigoal, опередил smile

Добавлено через 1 минуту и 21 секунду
barin_Student, еще как вариант распакуй ее, отредактируй манифест, затем зазипуй и переименуй в *.jar 

Автор: barin_Student 11.3.2010, 14:20
находиться:
kmu\jprov\tools\KMU.class
Манифест:
Код

Manifest-Version: 1.0
Created-By: 1.3.1_15 (Sun Microsystems Inc.)
Main-Class: jprov\tools\KMU


Название jar :
kmu.jar

Пробовал и :
Код

Manifest-Version: 1.0
Created-By: 1.3.1_15 (Sun Microsystems Inc.)
Main-Class: kmu\jprov\tools\KMU


Еще может какие нибудь варианты?)))

Автор: Samotnik 11.3.2010, 14:26
Цитата(barin_Student @  11.3.2010,  13:20 Найти цитируемый пост)
Еще может какие нибудь варианты?))) 

Main-Class: kmu.jprov.tools.KMU

Автор: barin_Student 11.3.2010, 14:31
Цитата(Samotnik @ 11.3.2010,  17:15)
batigoal, опередил smile

Добавлено @ 14:16
barin_Student, еще как вариант распакуй ее, отредактируй манифест, затем зазипуй и переименуй в *.jar

так и делаю, архивирую зипом, но расширение jar

Добавлено через 4 минуты и 52 секунды
Цитата(Samotnik @ 11.3.2010,  17:26)
Цитата(barin_Student @  11.3.2010,  13:20 Найти цитируемый пост)
Еще может какие нибудь варианты?))) 

Main-Class: kmu.jprov.tools.KMU

два варианта манифеста не чаго не изменили.. манифест рас:
Код

Manifest-Version: 1.0
Created-By: 1.3.1_15 (Sun Microsystems Inc.)
Main-Class: jprov.tools.KMU


два:
Код

Manifest-Version: 1.0
Created-By: 1.3.1_15 (Sun Microsystems Inc.)
Main-Class: kmu.jprov.tools.KMU




((((

Автор: Samotnik 11.3.2010, 14:49
Цитата

Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return. 

http://java.sun.com/docs/books/tutorial/deployment/jar/appman.html   
это учел ?

Автор: barin_Student 11.3.2010, 14:53
Цитата(Samotnik @ 11.3.2010,  17:49)
Цитата

Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return. 

http://java.sun.com/docs/books/tutorial/deployment/jar/appman.html   
это учел ?

Понял перевести в каретку в новую линию, правильно плнял?=)
ПС: я домой завтра буду добивать((

Автор: Samotnik 11.3.2010, 14:55
Цитата(barin_Student @  11.3.2010,  13:53 Найти цитируемый пост)
перевести в каретку в новую линию, правильно плнял

ес офкос

Автор: batigoal 11.3.2010, 19:05
Можешь выложить архив сюда, посмотрим.

Автор: barin_Student 12.3.2010, 07:36
http://rapidshare.com/files/362229508/kmu.jar
Вот этот ярик, за помощь в запуске буду очень благодарен, хотябы стек ошибки вилетит, значит ярик запускаеться smile 

Автор: dobrolub 12.3.2010, 09:52
из каталога с kmu.jar исполни следующие команды (выдели все и скопируй прямо cmd, far или unix shell) На ошибки в командах rm/del не обращай внимания - написано для любой системы.

Код

jar -xf kmu.jar
echo "Main-Class: jprov.tools.kmu.KMU" > manifest
rm kmu/META-INF/MANIFEST.MF
del kmu\META-INF\MANIFEST.MF
jar -cfm kmu.jar manifest -C kmu images jprov
java -jar kmu.jar

Автор: batigoal 12.3.2010, 10:49
А прямо к сообщению не можешь приаттачить? С Рапидшары я на работе навряд ли скачаю.

Автор: barin_Student 12.3.2010, 11:35
smile

Добавлено через 3 минуты и 2 секунды
Цитата(dobrolub @ 12.3.2010,  12:52)
из каталога с kmu.jar исполни следующие команды (выдели все и скопируй прямо cmd, far или unix shell) На ошибки в командах rm/del не обращай внимания - написано для любой системы.

Код

jar -xf kmu.jar
echo "Main-Class: jprov.tools.kmu.KMU" > manifest
rm kmu/META-INF/MANIFEST.MF
del kmu\META-INF\MANIFEST.MF
jar -cfm kmu.jar manifest -C kmu images jprov
java -jar kmu.jar

bash: jar: command not found
нет в моей jdk jar smile 

Автор: batigoal 12.3.2010, 16:53
Вот так он пытается запуститься (см. аттач).

Во-первых, у тебя все папки добавлены зачем-то в папку kmu - классы не находятся в этом пакете. Пересобрал.

Во-вторых, ты невнимателен. В своих последних попытках ты писал такой путь: kmu.jprov.tools.KMU и jprov.tools.KMU, в то время как надо jprov.tools.kmu.KMU.

Но либа все равно не запускается, она требует еще какой-то нативной бибилиотеки jcryptoki.

Автор: barin_Student 16.3.2010, 08:59
всем спасибо за помощь))) +1 к репутации batigoal smile 

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