在eclipse中的Tomcat上使用JDBC for MYSQL时,java classNotFound异常
这似乎是一个常见的问题,但我找不到有效的解决方案。我查阅了几十条线索,一直在和我的老师一起工作。 我正在尝试使用JDBC连接到MYSQL。我还使用tomcat服务器并运行xubuntu 12.04。我发现ClassNotFound异常
我试过JDBC mysql连接器java。jar驱动程序放在/tomact/lib和/usr/share/java中,并在每个实例中手动构建路径。我还尝试通过部署程序集添加路径。我尝试过使用导出类路径。什么都没用。我无法让这个异常停止被抛出。有谁有其他的解决方案我可以试试吗
我的代码:
public static Connection getConnection() {
if(connection!=null){
return connection;
}else{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String dbURL = "jdbc:mysql://144.91.20.136:3306/jewelryInventoryGallison";
String username = "javaee";
String password = "mills2012";
connection = DriverManager.getConnection(dbURL, username, password);
return connection;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}
测试等级:
public static void main(String[] args) throws Exception{
Connection conn = DatabaseUtils.getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM Inventory");
while(rs.next()) {
System.out.println(rs.getString("name"));
}
}
和跟踪:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at utils.DatabaseUtils.getConnection(DatabaseUtils.java:19)
at utils.DatabaseUtils.main(DatabaseUtils.java:34)
线程“main”java中出现异常。lang.NullPointerException 在utils。数据库工具。main(DatabaseUtils.java:35)
非常感谢您的帮助
# 1 楼答案
修改“通用”。加泰罗尼亚的加载器属性。属性文件,如下图所示
还添加了“mysql-connector-java-5.0.8-bin”。tomcat“lib”文件夹中的“jar”
# 2 楼答案
版本不匹配可能会导致此错误。我自己被困在这个错误中好几天了。请检查jdbc连接器的版本。最新的连接器需要java 1.8。在我的例子中,我的tomcat版本不支持我添加的连接器版本,所以也请检查一下
PS:Tomcat-8.0.32;mysql连接器-5.1.30和Java1.7一起工作(Y)