I am attempting to connect to my local MySQL server with the following code:
dbURL = "jdbc:mysql://localhost:3306:/" + dbname;
try{
Class.forName("com.mysql.jdbc.Driver");
try{
con = DriverManager.getConnection(dbURL, dbuser, dbpass);
} catch (SQLException ex){
System.out.println("ERROR: Could not connection to SQL DB");
con = null;
}
} catch (ClassNotFoundException e){
System.out.println("Error: ");
e.printStackTrace();
}
I then get
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
I understand that Java cannot find the proper driver for connecting the Java environment to the MySQL database. This is being compiled on a Windows 7 system and ported over to an Ubuntu 11.04 system.
Is there a particular way I can run the Java program with a particular classpath such as:
java -cp /usr/share/java/mysql-connector-java.jar program.jar
That didn’t work when I tried it.
In case of JARs, the
-cpand-classpatharguments and the%CLASSPATH%environment variable are ignored. Instead, the classpath has to be specified in theClass-Pathentry of JAR’s own/META-INF/MANIFEST.MFfile. It can be a path relative to the JAR itself. E.g. in the same folder or in a/libsubfolder.The below example assumes the driver to be in the same folder as the JAR.
(make sure that the
MANIFEST.MFfile has a blank line at the end)See also: