I’m trying to establish a connection to my local MySQL database using Java but keep running into issues.
I have MySQL connector jar file version 8.0.20 saved in /usr/share/java/mysql-connector-java-8.0.20.jar on my Ubuntu 18.04 system.
My compilation works fine when I use:
javac -cp "/usr/share/java/mysql-connector-java-8.0.20.jar" DatabaseTest.java
But when I try to run it with:
java DatabaseTest
I get this error:
Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/cj/jdbc/MysqlDataSource
at DatabaseTest.main(DatabaseTest.java:12)...
Here’s my simple test code:
import java.sql.Connection;
import java.sql.SQLException;
import com.mysql.cj.jdbc.MysqlDataSource;
public class DatabaseTest {
public static void main(String[] args) {
MysqlDataSource source = new MysqlDataSource();
source.setUser("admin");
source.setPassword("password123");
source.setServerName("127.0.0.1");
Connection connection;
try {
connection = source.getConnection();
connection.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
The jar file definitely exists at that location. What am I missing here?