I have ubuntu 20.04.6. Openjdk 11. mysql-connector-java-8.0.20.jar, renamed to mysql.jar CLASSPATH="/var/www/html/java/mysql.jar", classpath stablished in ~/.bashrc After installing openjdk 11 and set classpath, still can't execute my app from linux terminal. I give you the source code:
import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class mysql {
public static void main(String args[]) {
Connection conexion=null;
Statement instruccion=null;
ResultSet conjuntoresultados=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conexion=DriverManager.getConnection("jdbc:mysql://localhost:3306/galpon","root","password");
instruccion=conexion.createStatement();
conjuntoresultados=instruccion.executeQuery("select usuario,cbu from duenos");
ResultSetMetaData metadatos=conjuntoresultados.getMetaData();
int numerocolumnas=metadatos.getColumnCount();
System.out.printf("Dueños de vehículos:");
for(int i=0;i<numerocolumnas;i++)
System.out.printf("%-8s\t",metadatos.getColumnName(i));
System.out.println();
while(conjuntoresultados.next()){
for(int i=0;i<numerocolumnas;i++)
System.out.printf("%-8s\t",conjuntoresultados.getObject(i));
System.out.println();
}
}
catch (SQLException sqlexcepcion) {
sqlexcepcion.printStackTrace();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
finally
{
try
{
conjuntoresultados.close();
instruccion.close();
conexion.close();
}
catch ( Exception excepcion )
{
excepcion.printStackTrace();
}
}
}
}
The error message is:
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527) at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at mysql.main(mysql.java:13)
java.lang.NullPointerException at mysql.main(mysql.java:39)
Thanks for every help you can give me
I tried installing mysql connector by its deb installer downloaded from mysql downloads. Did not work. Then download mysql connector java 8.0.20.jar ,renamed to mysql.jar alocated in /var/www/html/java, then set CLASSPATH=/var/www/html/java/mysql.jar in ~/.bashrc, then reloaded bashrc by "source ~/.bashrc". Nothing of this works for me. I don't know why
export CLASSPATH=/var/www/html/java/mysql.jarbut see my previous comment about the classpath and your app class. You'd be better off doingjava -cp .:/var/www/html/java/mysql.jar mysql(Java class names begin upper case though)