Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Could Not find the main class 
V
    Опции темы
ArsNov
Дата 21.12.2011, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 1.9.2005

Репутация: нет
Всего: 1



Сделал в эклипсе жарник.
Хочу запустить его, ввожу:
Код

java -jar twi.jar


Получаю:
Код

 Exception in thread "main" java.lang.NoClassDefFoundError: ru/arsnov/twitter/mentions/TwiMentions

Если запустить двойным кликом выдает: 
Код

Could Not find the main class


В MANIFEST.MF прописано: 

Код

Manifest-Version: 1.0
Class-Path: C:/ C:/Users/Arseniy/Downloads/twitter4j-2.2.5/lib/twitter4j-async-2.2.5.jar C:/Users/Arseniy/Downloads/twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar C:/Users/Arseniy/Downloads/twitter4j-2.2.5/lib/twitter4j-examples-2.2.5.jar C:/Users/Arseniy/Downloads/twitter4j-2.2.5/lib/twitter4j-media-support-2.2.5.jar C:/Users/Arseniy/Downloads/twitter4j-2.2.5/lib/twitter4j-stream-2.2.5.jar
Main-Class: ru.arsnov.twitter.mentions.TwiMentions


JRE 1.4.2.

Где допустил ошибку. Погуглил, везде все сводится к тому что не прописан main-class или отсутствуют нужные данные в classpath. Но я все прописал, а ошибка не исчезает. Прикрепил этот жарник к теме.




Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  twi.jar 9,14 Kb
PM MAIL ICQ   Вверх
mstalker26
Дата 21.12.2011, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 4.7.2009

Репутация: 4
Всего: 11



jar генерировали из эклипса с помощью export... ? Манифест как-то чудно вглядит, если можете выложите скриншоты того, как делали (каждое окно, когда экспортируете)
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
Samotnik
Дата 21.12.2011, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



ArsNov, в конце файла должна быть пустая строка. Есть?
PM MAIL   Вверх
ArsNov
Дата 21.12.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 1.9.2005

Репутация: нет
Всего: 1



Цитата(mstalker26 @ 21.12.2011,  13:59)
jar генерировали из эклипса с помощью export... ? Манифест как-то чудно вглядит, если можете выложите скриншоты того, как делали (каждое окно, когда экспортируете)

Точно, с помощью экспорта. Манифест правил вручную, после экспорта он получился такой: 
Код

Manifest-Version: 1.0
Main-Class: ru.arsnov.twitter.mentions.TwiMentions

Естественно, он не завелся, так как отсутствуют пути к используемым жаркам.
Пришлось добавить класпас через notepad.
Перенос строки в конце файла присутствует.

Прикрепил прописанные в класспасе жарники, можете проверить запустится ли у Вас?
 Спасибо за интерес к проблеме  smile 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  lib.rar 640,72 Kb
PM MAIL ICQ   Вверх
mstalker26
Дата 21.12.2011, 16:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 4.7.2009

Репутация: 4
Всего: 11



Цитата(ArsNov @ 21.12.2011,  14:11)
...
Манифест правил вручную...
Естественно, он не завелся, так как отсутствуют пути к используемым жаркам.
Пришлось добавить класпас через notepad
...

Я предполагал, что Вы правили манифест smile (переносы строк забавно в jar выглядят), поэтому и попросил скрины сбросить, как экспорт делали.

Попробуйте так.
1) Убедитесь что Ваши библиотеки прописаны в свойствах проекта

user posted image

2) Export... (теперь важно) -> Runnable JAR file (не забудьте указать Copy required libraries into a sub-folder next to the generated jar). Хотя можете выбрать первый пункт (тогда библиотеки будут запакованы в Ваш jar).

user posted image

И все. Рядом с Вашим jar-ом будет папка {имя-jar}_lib, в ней будут находится нужные библиотеки, а в самом jar-е будет правильный Class-Path. 

P.S. для факультатива http://skipy.ru/technics/likbez.html#hello smile
P.P.S. если что не получается, пишите.


Это сообщение отредактировал(а) mstalker26 - 21.12.2011, 16:11
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
ArsNov
Дата 21.12.2011, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 1.9.2005

Репутация: нет
Всего: 1



Спасибо! Видимо придется почитать и вникнуть  smile 
У меня отсутствует пункт  Runnable JAR file (см. скриншот 1.)
Я делал так:

1.
user posted image
2.
user posted image
3.
user posted image
4.
user posted image
5.
user posted image

Сейчас для проверки сделал проект с одним единственным классом и без подключения внешних библиотек. Сделал экспорт - все заработало, как только прописал библиотеки в манифесте, как в моем первом сообщении- получил ошибку. 
По вашей ссылочке вычитал:
Код

приложение, использующее стороннюю библиотеку, собирается в jar-файл и запускается командой java -jar <имя jar-файла>, после чего и появляется данная ошибка. Происходит это по следующей причине: при запуске приложения именно таким образом, с ключом интерпретатора -jar, в classpath включается один единственный файл – тот самый, который указывается в командной строке. Все остальные библиотеки – описаные в переменной CLASSPATH, указаные через ключ -classpath, – все они ИГНОРИРУЮТСЯ. Единственный способ этого избежать (и найден он – вот ведь поразительный факт! – опять-таки в документации) – указать в файле manifest.mf атрибут Class-Path – список относительных путей (обращаю особое внимание – относительных, относительно этой библиотки!) к необходимым библиотекам. Разделяются эти пути пробелами. Естественно, при этом работает и обычный вариант – указывать в явном виде classpath, включая туда все библиотеки, и имя исполняемого класса.

Судя по этим словам ошибка моя в том, что я прописал абсолютный путь или как это понимать? Можете прислать примерчик манифеста который сгенерировал ваш эклипс? Пока попробую запихнуть руками все либы в архив и пропишу относительный путь ))

Добавлено через 8 минут и 50 секунд
Не, не понял.

Запихнул в архив папку с библиотеками, в манифесте поправил:

Код

Manifest-Version: 1.0
Class-Path: lib/twitter4j-async-2.2.5.jar lib/twitter4j-core-2.2.5.jar lib/twitter4j-examples-2.2.5.jar lib/twitter4j-media-support-2.2.5.jar lib/twitter4j-stream-2.2.5.jar
Main-Class: ru.arsnov.twitter.mentions.TwiMentions

Теперь при запуске java -jar twi.jar: Exception in thread "main" java.lang.NoClassDefFoundError: twitter4j/UserStreamListener
По двойному клику - не могу найти мейн класс.

PM MAIL ICQ   Вверх
ArsNov
Дата 22.12.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 1.9.2005

Репутация: нет
Всего: 1



Разобрался, заработало. Положил библиотеки в папку lib, которая находится на одном уровне с исполняемым jar файлом. Прописал в MANIFEST.MF: Class-Path: lib/twitter4j-async-2.2.5.jar .....

Спасибо за помощь!  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1341 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.