AWS EC2 - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

时间:2016-02-21 23:37:48

标签: java mysql amazon-web-services jdbc amazon-ec2

将我的客户端 - 服务器应用程序的服务器端移动到亚马逊EC2实例(ubuntu 64但)后,我开始获取java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)

尝试创建新的JDBC连接时。我的服务器代码是:

Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("host", "username", "password"); //crashes here

我下载了apt-get install libmysql-java,现在服务器上的/usr/share/java/目录如下所示:

-rw-r--r--   1 root root  30530 Dec  9  2013 java-atk-wrapper.jar
-rw-r--r--   1 root root    948 Mar 22  2014 java_defaults.mk
-rw-r--r--   1 root root   2615 Apr 28  2014 libintl.jar
-rw-r--r--   1 root root 915836 Jan  1  2014 mysql-connector-java-5.1.28.jar
lrwxrwxrwx   1 root root     31 Jan  1  2014 mysql-connector-java.jar -> mysql-connector-java-5.1.28.jar
lrwxrwxrwx   1 root root     24 Jan  1  2014 mysql.jar -> mysql-connector-java.jar

任何线索可能会出错?

1 个答案:

答案 0 :(得分:0)

最有可能的解释是当你从一个服务器移动到另一个服务器时,有一个需要调整的类路径设置

确保/usr/share/java/mysql-connector-java.jar位于提供错误的应用程序的类路径中