Автор Тема: Проблемче *най - вероятно с classpath  (Прочетена 1473 пъти)

Stratovarius

  • Напреднали
  • *****
  • Публикации: 179
    • Профил
Следния проблем:

[strato@darkstar /usr/home/strato/test]$ java -jar Tadmin.jar
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

,но

[strato@darkstar /usr/home/strato/test]$ ls -l
total 708
-rw-r--r--  1 strato  strato  184112 Jan 15 00:37 Tadmin.jar
-rw-r--r--  1 strato  strato  512707 Jan 15 00:43 mysql-connector-java-5.0.5-bin.jar

и

[strato@darkstar /usr/home/strato/test]$ java -cp . -jar Tadmin.jar
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

От Еклипс като стартирам работи, значи проблема е с CLASSPATH, но след като mysql-connector е в същата директория и стартирам с опция -cp . би трябвало да погледне там или не ?
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #1 -: Jan 15, 2008, 07:23 »
Пробвай
Примерен код

export CLASSPATH=$CLASSPATH:`pwd`

и след това
Примерен код

java -jar Tadmin.jar
Активен

0x2B|~0x2B

Stratovarius

  • Напреднали
  • *****
  • Публикации: 179
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #2 -: Jan 15, 2008, 07:30 »
[strato@darkstar /usr/home/strato/test]$ echo $CLASSPATH
:/usr/home/strato:/usr/home/strato/test
[strato@darkstar /usr/home/strato/test]$ java -jar Tadmin.jar
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Активен

Stratovarius

  • Напреднали
  • *****
  • Публикации: 179
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #3 -: Jan 15, 2008, 07:34 »
Пробвах на различни машини.
На Windows, BSD, Linux, OSX

Навсякъде уж пътеките са правилни, за по сигурно паквам драивера в същата директория и изпълнявам с java -cp .
Но въпреки това никъде не се стартира. От еклипс върви, така, че не е от кода.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #4 -: Jan 15, 2008, 08:56 »
java -cp ./mysql-connector-java-5.0.5-bin.jar -jar Tadmin.jar

или пък

java -cp ./mysql-connector-java-5.0.5-bin.jar:./Tadmin.jar -jar Tadmin.jar

Честно казано не съм сигурен кое от двете е. Може би и двете ще работят.
Активен

akurtakov

  • Участници
  • ***
  • Публикации: 3
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #5 -: Jan 15, 2008, 09:41 »
Когато използваш jar опцията cp се игнорира, тъи като би триабвало да е специфициран клас пътя във Manifest.MF файла.
Твоята команда триабва да стане:
java -cp . classname

Като classname триабва да го замениш със стоиността на атрибута Main-Class от файла META-INF/MANIFEST.MF вътре в jar-a.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #6 -: Jan 15, 2008, 11:39 »
akurtakov, и си прав, и не си.

За -cp и -jar опциите си напълно прав, това го научавам от теб, мерси. :)

Иначе с java -cp . classname няма да стане. Трябва да е нещо от рода:

java -cp ./mysql-connector-java-5.0.5-bin.jar:./Tadmin.jar classname

Май.
Активен

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Проблемче *най - вероятно с classpath
« Отговор #7 -: Jan 15, 2008, 15:55 »
Хмм би трябвало да работи със сетнато CLASSPATH... Можеш ли да дадеш малко код ако не е конфиденциален разбира се '<img'>. При правилна променлива за CLASSPATH-a и описан главен клас в Manifest файла трябва да бачка '<img'>.
Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
Проблемче *най - вероятно с classpath
« Отговор #8 -: Jan 16, 2008, 00:21 »
и в крайна сметка пробва ли с CLASSPATH, който съдържа пълните (абсолютните ) имена на необходимите jar{|zip}-файлове ?
Активен

Stratovarius

  • Напреднали
  • *****
  • Публикации: 179
    • Профил
Проблемче *най - вероятно с classpath
« Отговор #9 -: Jan 16, 2008, 08:52 »
Manifest-Version: 1.0
Main-Class: guiProjekteVerwaltung.Tadmin
Class-Path: lib/mysql-connector-java-5.0.5-bin.jar

Много благодаря за помощта '<img'> Работи

akurtakov, имаш бутилка Daniels от мен '<img'>



Активен