我想确保可以通过简单的Java类连接到本地运行的MySQL服务器。
要测试连接,我想使用MysqlDataSource
随附的mysql-connector-java-8.0.20.jar
类
我在Ubuntu 18.04 LTS上,并且jar位于:/usr/share/java/mysql-connector-java-8.0.20.jar
。
然后我运行编译器命令:$ javac -cp "/usr/share/java/mysql-connector-java-8.0.20.jar" App.java
然后:$ java App
并得到以下输出错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/cj/jdbc/MysqlDataSource
at App.main(App.java:15)...
$ mysql --version
的输出:mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper
这是我的所有
App.java
文件包含的内容:import java.sql.Connection;
import java.sql.SQLException;
import com.mysql.cj.jdbc.MysqlDataSource;
public class App {
public static void main(String[] args) {
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("root");
dataSource.setPassword("test");
dataSource.setServerName("localhost");
Connection conn;
try {
conn = dataSource.getConnection();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}```
最佳答案
您必须指定一个类路径来代替java App
,以便在运行时包含jar。喜欢,
java -cp "/usr/share/java/mysql-connector-java-8.0.20.jar:." App