Пытаюсь создать драйвер для MySql (Class.forName()), при этом получаю исключение:
Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at pack.TestMysql.main(TestMysql.java:13)
Что это может значить?
Параметры:
jdk 1.6
mysql 5.0.21
mysql-connector-java-5.0.3-bin.jar и mysql-connector-java-5.1.5-bin.jar
полный код:
import java.sql.*;
public class TestMysql
{
public static void main(String args[]) {
try {
/* Test loading driver */
String driver = "com.mysql.jdbc.Driver";
System.out.println( "=> loading driver:" );
Class.forName( driver );
System.out.println( "OK" );
/* Test the connection */
String url = "jdbc:mysql://localhost/test";
System.out.println( "=> connecting:" );
DriverManager.getConnection( url, "", "" );
System.out.println( "OK" );
}
catch( Exception x ) {
x.printStackTrace();
}
}
}
Здравствуйте, sebastien, Вы писали: S>Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
Очевидно, в classpath отсутствует aspectj.jar.
Здравствуйте, ika, Вы писали:
ika>Очевидно, в classpath отсутствует aspectj.jar.
А действительно ли нужен он? Прямо сейчас сижу за машиной, на которой его нет, тем не менее код работает. Нигде в документации не описана необходимость в aspectj, только в коннекторе.
Здравствуйте, sebastien, Вы писали:
S>А действительно ли нужен он? Прямо сейчас сижу за машиной, на которой его нет, тем не менее код работает. Нигде в документации не описана необходимость в aspectj, только в коннекторе.
Проект в какой IDE? Какой компилятор указан в настройках проекта: javac (Java) или iajc (AspectJ)?
Здравствуйте, rsn81, Вы писали:
R>Здравствуйте, sebastien, Вы писали:
S>>А действительно ли нужен он? Прямо сейчас сижу за машиной, на которой его нет, тем не менее код работает. Нигде в документации не описана необходимость в aspectj, только в коннекторе. R>Проект в какой IDE? Какой компилятор указан в настройках проекта: javac (Java) или iajc (AspectJ)?
IDE — и eclipse и ком. строка =) Но проблема решилась. Оказалось, что где-то в CLASSPATH'е затерялась отладочная версия драйвера, она то всё и портила. Но вот сразу же наткнулся на другой трабл — новый эксепшн на строке DriverManager.getConnection(url, "", ""); :
=> connecting:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2104)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:729)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at pack.Test.main(Test.java:22)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027)
... 12 more
Гугль на такой эксепшн показал всего 9 результатов, да и то относящихся к одной теме. Не знаете, что это такое?