Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / NoClassDefFound exception on launching jar / 19 сообщений из 19, страница 1 из 1
17.12.2012, 13:28:06
    #38081835
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Создаю jar из Swing проекта.

MANIFEST.MF
Код: html
1.
2.
3.
Manifest-Version: 1.0
Class-Path: libraries\*.jar mainPack\*.class
Main-Class: mainPack.FtpFileUploader



В результирующем джарнике получаю такую структуру как надо, что все мои библиотеки находятся в папке libraries на одном уровне с mainPack. Но при запуске через командную строку вижу ошибку почему не запускается джарник:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/Session

        at mainPack.BackgroundTask.<init>(BackgroundTask.java:24)
        at mainPack.FtpFileUploader.main(FtpFileUploader.java:27)
Caused by: java.lang.ClassNotFoundException: org.hibernate.Session
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 2 more



Я не могу понять, почему не видит мою библеотеку hibernate-core-3.6.6.Final.jar, хотя при запуске через IDE проект запускается нормально. Подскажите пожалуйста почему не видит мою либу? Или проблема в чем то другом?
...
Рейтинг: 0 / 0
17.12.2012, 13:29:57
    #38081839
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Создание джара из папки с компилированными классами: jar cvfm FileUploader.jar MANIFEST.MF mainPack\*.class
...
Рейтинг: 0 / 0
17.12.2012, 13:30:35
    #38081844
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Слэш не в ту сторону?
...
Рейтинг: 0 / 0
17.12.2012, 13:31:50
    #38081845
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
И ещё сепаратор, вроде ;, а не пробел в Class-Path
...
Рейтинг: 0 / 0
17.12.2012, 13:50:10
    #38081867
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Blazkowicz,

не, дело не в слэше, да и манифест я уже создавал для другого проекта, там все в порядке работало с такими слэшами и сепараторами. Гугл не помогает найти проблему.
...
Рейтинг: 0 / 0
17.12.2012, 14:11:14
    #38081901
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Значит user.dir не тот.
Проверьте system.getProperty("user.dir"), чтобы попадал в коорень, для которого libraries\*.jar указан. И слеш таки поменяйте.
...
Рейтинг: 0 / 0
17.12.2012, 14:44:37
    #38081962
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Blazkowicz,

Не очень понимаю что за user.dir, судя по всему это моя рабочая папка проекта, я проверил введя в код, то, что Вы предложили, он указал мою корневую папку с проектом. Поменял как Вы сказали слэши, все равно меня достает эта ошибка, не понимаю вообще в чем может быть дело, уже одно приложение я делал на SWING и все нормально работало, а то не понятно почему, аж раздражает, а проект надо сдавать.
...
Рейтинг: 0 / 0
17.12.2012, 15:06:40
    #38082000
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
timergalievНе очень понимаю что за user.dir,

"Текущая директория". У вас в Class-Path указаны относительные пути. Они же указаны относительно чего-то. Вот user.dir, это возможно оно. Блин, у них даже в мануале не написано относительно чего. Может быть и главного jar-а конечно.

timergalievсудя по всему это моя рабочая папка проекта, я проверил введя в код, то, что Вы предложили, он указал мою корневую папку с проектом.
А jar-ы где лежат?

timergalievПоменял как Вы сказали слэши, все равно меня достает эта ошибка, не понимаю вообще в чем может быть дело,
Других ошибок точно нет? Exception точь-в-точь таким же остался?
...
Рейтинг: 0 / 0
17.12.2012, 15:08:47
    #38082008
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
А там точно wildcards поддерживаются? Судя по тому что Class-Path в манифесте своей логике следует, может и не поддерживать.
...
Рейтинг: 0 / 0
17.12.2012, 15:10:20
    #38082012
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Покажите вообще свою структуру
Вот это точно не должно поддерживаться.
mainPack\*.class
Особенно если mainPack это у вас package.
Class-Path не указывает на отдельный классы, только каталоги и jar-ы.
...
Рейтинг: 0 / 0
17.12.2012, 15:13:15
    #38082018
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Ага! Зачем вы нас обманываете что у вас "работало"? Не поддерживаются wildcards в манифесте.
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html That is, wildcards are honored in all these cases. However, class path wildcards are not honored in the Class-Path jar-manifest header .

У вас в проекте IDE все либы прописаны, в Class-Path в манифесте абсолютно не верный.
...
Рейтинг: 0 / 0
17.12.2012, 15:21:53
    #38082038
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Blazkowicz,

Вот манифест с работующей jar-ки.

Manifest-Version: 1.0
Class-Path: mainPack\lib\jcalendar-1.3.3.jar mainPack\lib\log4j-1.2.15
.jar mainPack\lib\poi-3.7.jar mainPack\lib\synthetica.jar mainPack\lib\syntheticaSkyMetallic.jar mainPack\*.class
Main-Class: mainPack.Reporter
...
Рейтинг: 0 / 0
17.12.2012, 15:48:40
    #38082106
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
timergalievВот манифест с работующей jar-ки.

Manifest-Version: 1.0
Class-Path: mainPack\lib\jcalendar-1.3.3.jar mainPack\lib\log4j-1.2.15
.jar mainPack\lib\poi-3.7.jar mainPack\lib\synthetica.jar mainPack\lib\syntheticaSkyMetallic.jar mainPack\*.class
Main-Class: mainPack.Reporter

mainPack\*.class можно выкинуть.
Остальное немного не похоже на то что у вас.
...
Рейтинг: 0 / 0
17.12.2012, 15:53:30
    #38082123
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Blazkowicz,

На счет путей в клас пас, Вы были правы, я как только указал вместо libraries\*.jar конкретную либу, они перестал ругаться на старое, но я не могу добавить все библиотеки (их 54) и тогда jar -cfm ругается что у меня слишком длинная строка
...
Рейтинг: 0 / 0
17.12.2012, 16:01:46
    #38082151
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
timergalievНа счет путей в клас пас, Вы были правы, я как только указал вместо libraries\*.jar конкретную либу, они перестал ругаться на старое, но я не могу добавить все библиотеки (их 54) и тогда jar -cfm ругается что у меня слишком длинная строка
Потому что нехрен проекты руками собрать. Можно в IDE сгенерить манифест. Можно Ant/Maven-ом собрать. Они умеют.
Ну, а если чешется, то - длина строки 70 символов и при переносе следующая начинается с пробела:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Class-Path: lib/core-1.0-SNAPSHOT.jar lib/spring-core-3.1.1.RELEASE.ja
 r lib/spring-asm-3.1.1.RELEASE.jar lib/spring-orm-3.1.1.RELEASE.jar l
 ib/spring-beans-3.1.1.RELEASE.jar lib/spring-jdbc-3.1.1.RELEASE.jar l
 ib/spring-tx-3.1.1.RELEASE.jar lib/aopalliance-1.0.jar lib/spring-aop
 -3.1.1.RELEASE.jar lib/spring-context-3.1.1.RELEASE.jar lib/spring-ex
 pression-3.1.1.RELEASE.jar lib/hibernate-core-3.6.10.Final.jar lib/an
 tlr-2.7.6.jar lib/commons-collections-3.2.1.jar lib/dom4j-1.6.1.jar l
 ib/hibernate-commons-annotations-3.2.0.Final.jar lib/slf4j-api-1.6.1.
 jar lib/hibernate-jpa-2.0-api-1.0.1.Final.jar lib/jta-1.1.jar lib/com
 mons-lang-2.2.jar lib/commons-io-1.4.jar lib/commons-beanutils-1.8.0.
 jar lib/commons-logging-1.0.4.jar lib/jasperreports-4.5.1.jar lib/com
 mons-digester-2.1.jar lib/castor-1.2.jar lib/poi-ooxml-3.7.jar lib/po
 i-3.8-beta5.jar lib/poi-ooxml-schemas-3.7.jar lib/xmlbeans-2.3.0.jar 
 lib/stax-api-1.0.1.jar lib/geronimo-stax-api_1.0_spec-1.0.jar lib/ite
 xt-2.1.7.jar lib/itext-asian-1.5.2.jar lib/log4j-1.2.15.jar lib/slf4j
 -log4j12-1.6.1.jar lib/javassist-3.12.1.GA.jar lib/miglayout-3.7.1-sw
 ing.jar lib/commons-validator-1.3.1.jar lib/commons-cli-1.2.jar lib/s
 pring-context-support-3.1.1.RELEASE.jar lib/ehcache-core-2.4.7.jar li
 b/commons-codec-1.5.jar lib/spring-webmvc-3.1.1.RELEASE.jar lib/sprin
 g-web-3.1.1.RELEASE.jar lib/commons-httpclient-3.1.jar lib/betterbean
 sbinding-core-1.3.0.jar lib/betterbeansbinding-el-1.3.0.jar lib/jsr30
 5-1.3.7.jar lib/betterbeansbinding-swingbinding-1.3.0.jar
...
Рейтинг: 0 / 0
17.12.2012, 16:02:39
    #38082154
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
И ещё может пригодится
dir /b *.jar > jarlist.txt
...
Рейтинг: 0 / 0
17.12.2012, 16:04:10
    #38082158
timergaliev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
Blazkowicz,

)) я уже понял что с пробела начинается, а про длину не знал, сейчас уже подправлено, только хотел об этом написать, как Вы меня опередили, IDE не правильно создает мой манифест, он не генерит автоматом пути к либам, их все равно приходиться почему то мне ручками дописывать, мэйвэном пользоваться не умею, ни разу не пробовал, а на счет анта я даже не задумывался
...
Рейтинг: 0 / 0
17.12.2012, 18:00:00
    #38082387
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
BlazkowiczУ вас в Class-Path указаны относительные пути. Они же указаны относительно чего-то.Для класспутя в jar-е - относительно самого jar-a.
...
Рейтинг: 0 / 0
17.12.2012, 18:03:35
    #38082395
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoClassDefFound exception on launching jar
[quot timergaliev]
Код: sql
1.
2.
Manifest-Version: 1.0
Class-Path: libraries\*.jar mainPack\*.class

*.class - вообще нигде не работает. Должно быть просто mainPack
*.jar - вводится как просто * и работает только комстроке java6+
В jar-е - будьте добры поименовать каждый внешний jar и без всяких шаблонов.

P.S. Ну и слэше развёртывайте "в юниксовую сторону" - виндам по барабану, а хрюниксам - не факт.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / NoClassDefFound exception on launching jar / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]