我在谷歌上搜索了这个话题,但我还没有找到答案。我在AWS Amazon实例中运行Java,试图将简单的java运行到mysql数据库。我可以通过mysql命令访问db fine。这个错误把我逼疯了。
注意,我是在/development下运行的,它恰好有jar文件。
[ec2-user@ip-172-31-16-232 development]$ ls
cProgram.c Java2MySql.class Java2MySql.java mysql-connector-java-5.1.12.jar
[ec2-user@ip-172-31-16-232 development]$ echo $JAVA_HOME
/usr/lib/jvm/java
[ec2-user@ip-172-31-16-232 development]$ java -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java
[ec2-user@ip-172-31-16-232 development]$ java Java2MySql
Where is your MySQL JDBC Driver?
MySQL JDBC Driver Registered!
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/smarteregsBlog
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at Java2MySql.main(Java2MySql.java:21)
Closing connectionJava2MySql.java
public class Java2MySql
{
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/myBlog";
String driver = "com.mysql.jdbc.Driver";
String userName = "sam";
String password = "Yoo!";
Connection conn = null;
try {
Class.forName(driver);
}catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
}
System.out.println("MySQL JDBC Driver Registered!");
try{
conn = DriverManager.getConnection(url,userName,password);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
System.out.println("Closing connection");
conn.close();
} catch (Throwable ignore){}
}
}发布于 2014-08-08 05:39:48
似乎您只在编译时提供jar,而在执行代码时没有提供jar类路径:
javac -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java我认为它是一个错误的javac而不是java
在执行代码时还需要提供jar路径。所以改变这个
java Java2MySql至
java -cp .:/home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql注释:MySQL连接器-java-5.1.12.jar在运行时才是必需的,因为您是动态加载类的。
发布于 2014-08-08 05:34:30
在编译类时,在本例中不需要指定jar,非常简单,这将完成以下工作
javac Java2MySql.java改变这个
java -cp /home/ec2-user/development/mysql-connector-java-5.1.12.jar Java2MySql.java至
java -cp .:pathOfTheDriverJar/mysql-connector-java-5.1.12.jar Java2MySql发布于 2014-08-08 05:41:38
确保mysql连接器jar位于类路径中。将其复制到类文件无法工作的文件夹中。或者您可以简单地将其复制到jdk的lib文件夹。
https://stackoverflow.com/questions/25196522
复制相似问题