Mysql 连接时老有异常

AlexChu_Android 2011-11-02 12:13:49
import java.sql.*;


public class TestMysqlConnection{
public static void main(String args[]){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
System.out.println("VendorError: " + e.getErrorCode());
}
}
}




报出的异常为:import java.sql.*;


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 TestMysqlConnection.main(TestMysqlConnection.java:7)
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazywolf 2011-11-02
  • 打赏
  • 举报
回复
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
感觉少了包,换一个于你自己mysql版本一样的驱动包,或者到你的mysql安装的目录下找到那个驱动包,我记得5.0以上的驱动包可以在安装mysql下面找到的,那样就确保不会出现版本冲突问题。至于端口号一般是默认的,你查一下自己的mysql端口号吧!
fytq813 2011-11-02
  • 打赏
  • 举报
回复
可能是驱动包版本问题,换一个试试吧
AlexChu_Android 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuerzm 的回复:]

没有connection.jar
[/Quote]



connection.jar??这个jar包也要引进来?哪里有这个jar包?
AlexChu_Android 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kouyisc 的回复:]

引用
Class.forName("com.mysql.jdbc.Driver").newInstance();

1、
这个是在搞什么?看不懂
把后面那个去掉,,有了要报错吧
Class.forName("com.mysql.jdbc.Driver");
2、
还有这种url连接方式。很难说没有错。。连3306端口都没有呢?
Connection conn = DriverM……
[/Quote]

第一:newInstance();有无毫不影响程序运行
第二:同样的代码在别人机器上可以运行,这个端口好像是默认的吧?
AlexChu_Android 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qianmz 的回复:]

Mysql的jar包没引入吧?
[/Quote]

mysql-connector-java-5.0.8-bin
会不会是版本不兼容的问题呢?
LucEaspe 2011-11-02
  • 打赏
  • 举报
回复
没有connection.jar
kouyiSC 2011-11-02
  • 打赏
  • 举报
回复
[Quote]
Class.forName("com.mysql.jdbc.Driver").newInstance();
[/Quote]
1、
这个是在搞什么?看不懂
把后面那个去掉,,有了要报错吧
Class.forName("com.mysql.jdbc.Driver");
2、
还有这种url连接方式。很难说没有错。。连3306端口都没有呢?
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
AlexChu_Android 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qianmz 的回复:]

Mysql的jar包没引入吧?
[/Quote]


引入了
qianmz 2011-11-02
  • 打赏
  • 举报
回复
Mysql的jar包没引入吧?
AlexChu_Android 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fance611261 的回复:]

Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
感觉少了包,换一个于你自己mysql版本一样的驱动包,或者到你的mysql安装的目录下找到那个驱动包,我记得5.0以上的驱动包可以在安装mysql下面找到的,那样就确保不会出现版本冲突问题。至于端口号一般是默认的,你查一下自己的mysql端口号吧!
[/Quote]


谢谢,确实是版本问题,已解决

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧