Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Не запускается jar файл


Автор: bio_hazard 18.11.2008, 09:11
Создал небольшую прогу для распарсивания файла лога, писал в венде под нетбинсом (jdk 1.6), перенес на linux, на нем установлена свободная версия java с gnu classpath совместимая с java 1.4. Файл не запускается ругается что не может подгрузить драйвер postgresql.
Код

[root@localhost dist]# java -jar "parseLogTrafic.jar"
18-Ноя-08 10:55:29  parselogtrafic.Main main
SEVERE:
java.sql.SQLException: No driver found for jdbc:postgresql://192.168.12.3:5432/inet_log
   at java.sql.DriverManager.getDriver(libgcj.so.7rh)
   at java.sql.DriverManager.getConnection(libgcj.so.7rh)
   at java.sql.DriverManager.getConnection(libgcj.so.7rh)
   at parselogtrafic.Main.main(Main.java:59)
Exception in thread "main" java.lang.NullPointerException
   at parselogtrafic.Main.main(Main.java:64)
[root@localhost dist]#


В виндовсе просто щелкаю два раза на своем, или запускаю из консоли java -jar parseLogTrafic.jar, в линуксе так не получается. На этой же машине с линуксом крутится apache tomcat, в нем работает несколько приложений на jsp/servlet, с этим же драйвером для postgresql. В проге в основном обработка строк, никаких новых возможностей не использовал, совместимость с 1.4 должна быть. Почему не получается запустить?

Автор: Samotnik 18.11.2008, 15:17
bio_hazard, когда запускаеш, попробуй указать в параметрах прямой путь к jar  с этим драйвером. 
ПЭ.Эс.
Я так понимаю у тебя стоит стандартный jdk, который был вместе с Linux ?
Скачай и поставь отдельно новый jdk.  У меня в Линуксе никаких проблем нету 

Автор: bio_hazard 19.11.2008, 07:41
У меня стандартный идет который в дистрибутиве, но не sun jdk. Попозже планирую обновить версию линукса может уйду на другой дистрибутив, сейчас стоит fedora core 6, а в данный момент написал скрипт на питоне который парсит нужный мне лог.

Автор: yourik 19.11.2008, 13:07
а если сделать так 
java -с path_to_pgsql.jar -jar "parseLogTrafic.jar" 
в общем указать путь к драйверу?

Автор: bio_hazard 19.11.2008, 15:36
Цитата(yourik @ 19.11.2008,  13:07)
а если сделать так 
java -с path_to_pgsql.jar -jar "parseLogTrafic.jar" 
в общем указать путь к драйверу?


Попробовал, выдается та же ошибка, я склонен думать что это версия явы такая кривая. Просто на сервере очень много всего крутится, не доходят руки новую версию поставить.

Автор: Sleepy_PIP 20.11.2008, 23:42
вообще-то в редхат-4-32б sun солярке -  я свободно живу и с JRE 1.4 и 1.6 smile..
даже энвиромент не меняю smile.

драйвера JDBC - это просто классы которые грузятся с соотв. .jar.
просто надо сделать их доступными по пути или classpatch (-classpatch).

великолепно разрабатываю в винде и работаю и а редхате и в солярке.
никаких проблем если не забыл докласть соотв. классы (хоть jar, хоть zip).

правда-правда smile. и с ораклом и MySQL причем одновременно smile ... был опыт и с постгресом.

приведенная ошибка указывает не на несоответствие версий класса дривера и JVm/jre - а на то чтоон так просто не найден.

соотв. смотрим - чего мы пытаемся грузить. и далее смотрим где это находится и чего не хватает.

вроде так. а?

Автор: ivg 21.11.2008, 00:50
А вы его (драйвер) вообще http://jdbc.postgresql.org/documentation/head/load.html?

Автор: bio_hazard 21.11.2008, 08:04
Цитата(ivg @ 21.11.2008,  00:50)
А вы его (драйвер) вообще http://jdbc.postgresql.org/documentation/head/load.html?

Конечно. В виндовс все работает. 

Автор: Krivoy 21.11.2008, 11:27
А если указать при запуске путь к jar с драйвером постгре? Типа 
java -cp (+путь к jar драйвера постгре) -jar ./parseLogTrafic.jar

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