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


Автор: cas 14.10.2006, 15:16
Имеется код:
Код
package mypackage;

import java.sql.*;

public class Main
{
  public static void main(String args[]) {
    try {
      String driver = "com.mysql.jdbc.Driver";
      System.out.println( "=> loading driver:" );
      Class.forName( driver );
      System.out.println("OK");

      String url = "jdbc:mysql://localhost:3306/test";

      System.out.println( "=> connecting:" );
      DriverManager.getConnection( url, "root", "" );
      System.out.println( "OK" );
    }
    catch( Exception x ) {
      x.printStackTrace();
    }
  }
}

Откомпилил:javac -classpath ./classes -d ./classes src/mypackage/Main.java
Пытаюсь запустить:java -classpath ./classes mypackage/Main
Ответ:=> loading driver:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
всё писать не стал,дрова для мускула рассувал уже визде где только можно:
/home/cas/classes/com/mysql/jdbc/Driver
/home/cas/bin/com/mysql/jdbc/Driver
на запрос echo $CLASSPATH имею ответ /home/cas/bin
в нетбисе этиже дрова прикрутил к этому коду всё нормально работает.
Может кто поможет?

Автор: LSD 14.10.2006, 15:32
В CLASSPATH надо писать именно полный путь jar-файлу, а не к папке где он лежит.

Автор: cas 14.10.2006, 15:53
cas@linux-uj1f:~> echo $CLASSPATH
/home/cas/classes/com/mysql/jdbc/Driver/
cas@linux-uj1f:~> javac -classpath ./classes -d ./classes src/mypackage/Main.java
cas@linux-uj1f:~> java -classpath ./classes mypackage/Main
=> loading driver:
java.lang.ClassNotFoundException: mysql-connector-java-3.1.7-bin.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)

или я тебя не правильно понял

Автор: LSD 14.10.2006, 16:01
1. Как ты так запускаешь?
Цитата(cas @  14.10.2006,  16:53 Найти цитируемый пост)
cas@linux-uj1f:~> java -classpath ./classes mypackage/Main

правильно так:
Цитата
cas@linux-uj1f:~> java -classpath ./classes mypackage.Main


2. У тебя драйвер MySQL лежит в jar или распакованый?

Автор: cas 14.10.2006, 16:12
вот я, где взял как надо запукать http://skipy.dev.juga.ru/technics/likbez.html
дрова в jar лежат
cas@linux-uj1f:~> java -classpath ./classes mypackage/Main
=> loading driver:
java.lang.ClassNotFoundException: mysql-connector-java-3.1.7-bin.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

Добавлено @ 16:18 
блин вот туплю smile

Добавлено @ 16:19 
cas@linux-uj1f:~> echo $CLASSPATH
/home/cas/classes/home/cas/com/mysql/jdbc/Driver
cas@linux-uj1f:~> javac -classpath ./classes -d ./classes src/mypackage/Main.java
cas@linux-uj1f:~> java -classpath ./classes mypackage.Main
=> loading driver:
java.lang.ClassNotFoundException: mysql-connector-java-3.1.7-bin.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

Автор: LSD 14.10.2006, 16:43
Цитата(cas @  14.10.2006,  17:12 Найти цитируемый пост)
вот я, где взял как надо запукать http://skipy.dev.juga.ru/technics/likbez.html

Там между прочим написано совсем другое:
Цитата
java -classpath ./classes;./lib/velocity-1.4.jar;./lib/log4j-1.2.8.jar ru.skipy.myproject.Main

1. Имя класса который надо запустить написано через точки ru.skipy.myproject.Main, а не через слешь как у тебя mypackage/Main (я вообще не понимаю как твой программа запустилась).
2. В classpath указан путь к jar-нику ./lib/velocity-1.4.jar, а не путь к папке /home/cas/classes/home/cas/com/mysql/jdbc/Driver.
К тому же когда ты указываешь в командной строке ключ -classpath системная переменная classpath игнорируется.

Тебе надо запускать так:
Цитата
java -classpath ./classes:/<бла-бла-бла>/mysql-connector-java-3.1.7-bin.jar mypackage.Main

Автор: cas 14.10.2006, 17:06
cas@linux-uj1f:~> java -classpath ./classes: /com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar mypackage.Main
Exception in thread "main" java.lang.NoClassDefFoundError: /com/mysql/jdbc/Driver/mysql-connector-java-3/1/7-bin/jar
всеровно ,что-то не нравится ему
 

Автор: LSD 14.10.2006, 17:12
Цитата(cas @  14.10.2006,  18:06 Найти цитируемый пост)
./classes: /com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar

Пробел убери.

Автор: cas 14.10.2006, 17:25
cas@linux-uj1f:~> java -classpath ./classes:/com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar mypackage.Main
=> loading driver:
java.lang.ClassNotFoundException: mysql-connector-java-3.1.7-bin.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
cas@linux-uj1f:~> java -classpath ./classes:./com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar mypackage.Main
=> loading driver:
java.lang.ClassNotFoundException: mysql-connector-java-3.1.7-bin.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)


Автор: LSD 14.10.2006, 17:35
Ты уверен что у тебя файл mysql-connector-java-3.1.7-bin.jar лежит по вот такому: /com/mysql/jdbc/Driver/ пути?
Елементы пути в Linux чем разделяются, двоеточием или точкой с запятой?

Автор: cas 14.10.2006, 17:39
в линукс ":" ,там кстати в той стаье тоже написано, да уверен дрова там лежат и ещё проверил через нетибинс зацепился через них, то есть не битые ли они случайно.так что какой-то злой рок по-моему какой-то,может мне сегодня не судьба зацепится через блокнот smile

Автор: LSD 14.10.2006, 17:44
Попробуй еще ./classes/:/com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar и на этом у меня идеи кончились, надо ждать линуксоидов.

Автор: cas 14.10.2006, 18:13
linux-uj1f:/home/cas # java -classpath ./classes:./com/mysql/jdbc/Driver/mysql-connector-java-3.1.7-bin.jar  mypackage.Main
=> loading driver:
OK
=> connecting:
OK
а вот и коннект долгожданый,спросите что я сделал,просто ребуинулся и всё smile

Добавлено @ 18:15 
LSD благодарю и сори за  отнятое время smile .Удачи.у меня просто такие глюки были в сусе и ребут помогал как не странно smile

Автор: LSD 14.10.2006, 19:14
Пожалуйста smile

P.S. Не забывай пользоваться кнопкой Пометить вопрос как решенный.

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