No JarD存在时出现NoClassDefFoundError,专门用于mysql-connector-java-8.0.20.jar

问题描述 投票:0回答:1

我想确保我可以使用简单的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类连接到本地运行的MySQL服务器。要测试连接,我想使用mysql -...

java mysql javac
1个回答
0
投票

而不是java App,您必须指定一个类路径以在运行时包含jar。喜欢,

© www.soinside.com 2019 - 2024. All rights reserved.