今天刚刚装好MySQL 然后下载了Connector/J 结果装的是5.0.8的版本 我的jdk是1.8的版本
运行数据库链接的java文件时,报的异常是:
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 com.test.news.comm.DataSource.(DataSource.java:12)
at com.test.news.comm.DataSource.main(DataSource.java:34)
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
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 java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 3 more
一直以为是缺少aspectj相关的jar包,各种下载无果。在看到houyaowei的博客:http://blog.chinaunix.net/uid-20779442-id-1845607.html 之后发现时下的Connector/J的版本太低。 重新去下载了5.1.28版本的Connector/J ,代码正常运行了。
总结: 问题是由于connector/J版本和jdk版本不衔接导致的。 出现这样的问题1. 装更低版本的JDK 2.下载connector/J 5.1的版本