ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
It also would be helpful to know whether the mysqld service is running on your system. Lastly, it wouldn't hurt to post the relevant Java source code of your application.
Last edited by dwhitney67; 06-12-2011 at 08:12 PM.
It also would be helpful to know whether the mysqld service is running on your system.
I'm running MySQL on another machine.
Quote:
Originally Posted by dwhitney67
Lastly, it wouldn't hurt to post the relevant Java source code of your application.
Code:
import java.sql.*;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
/**
* Write a description of class Server here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Server
{
private Connection db;
private Properties settings;
public Server() throws Exception
{
this.settings = new Properties();
this.settings.load (new FileInputStream ("settings.conf"));
try
{
this.loadMysqlDriver();
}
catch (ClassNotFoundException cnfe)
{
System.out.println ("The MySQL driver could not be found. Are you sure its installed?");
return;
}
try
{
this.connectToMysqlServer();
}
catch (SQLException sqle)
{
System.out.println ("A connection could not be made with the MySQL server.");
return;
}
}
private void loadMysqlDriver () throws ClassNotFoundException, InstantiationException, IllegalAccessException, ClassNotFoundException
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
private void connectToMysqlServer () throws SQLException
{
String url = "jdbc:mysql://" + this.settings.getProperty ("mysql-location") + ":" + this.settings.getProperty ("mysql-port") + "/" + this.settings.getProperty ("mysql-database");
this.db = DriverManager.getConnection (url, this.settings.getProperty ("mysql-username"), this.settings.getProperty ("mysql-password"));
}
public static void main(String args[]) throws Exception
{
new Server();
}
}
I presume you mean the "class not found" exception. Please verify that you have setup the CLASSPATH correctly, perhaps even making sure that it is exported.
I just installed the relevant MySql packages on my other machine, setup the class-path, and then executed a program similar to yours. The application ran successfully.
I presume you mean the "class not found" exception. Please verify that you have setup the CLASSPATH correctly, perhaps even making sure that it is exported.
I just installed the relevant MySql packages on my other machine, setup the class-path, and then executed a program similar to yours. The application ran successfully.
Yes I got a Class Not Found Exception. This is what I've done:
Code:
[jordan@Jordan-Laptop java-stuff]$ export CLASSPATH=./:/usr/share/java/mysql-connector-java.jar
[jordan@Jordan-Laptop java-stuff]$ echo $CLASSPATH
./:/usr/share/java/mysql-connector-java.jar
[jordan@Jordan-Laptop java-stuff]$ java -jar ./my-jar.jar
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Server.loadMysqlDriver(Server.java:29)
at Server.<init>(Server.java:23)
at Server.main(Server.java:42)
[jordan@Jordan-Laptop java-stuff]$ ls -FGg /usr/share/java/mysql-connector-java.jar
lrwxrwxrwx. 1 31 Jun 12 18:29 /usr/share/java/mysql-connector-java.jar -> mysql-connector-java-5.1.15.jar*
[jordan@Jordan-Laptop java-stuff]$ ls -FGg /usr/share/java/mysql-connector-java-5.1.15.jar
-rwxr-xr-x. 1 817285 Feb 10 02:12 /usr/share/java/mysql-connector-java-5.1.15.jar*
[jordan@Jordan-Laptop java-stuff]$ export CLASSPATH=./:/usr/share/java/mysql-connector-java.jar
[jordan@Jordan-Laptop java-stuff]$ java -jar ./my-jar.jar
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Server.loadMysqlDriver(Server.java:29)
at Server.<init>(Server.java:23)
at Server.main(Server.java:42)
[jordan@Jordan-Laptop ~]$ cd ~/Desktop/java-stuff/
[jordan@Jordan-Laptop java-stuff]$ export CLASSPATH=./:/usr/share/java/mysql-connector-java.jar; echo $CLASSPATH
./:/usr/share/java/mysql-connector-java.jar
[jordan@Jordan-Laptop java-stuff]$
[jordan@Jordan-Laptop java-stuff]$ ls -l /usr/share/java/mysql-connector-java.jar
lrwxrwxrwx. 1 root root 31 Jun 12 18:29 /usr/share/java/mysql-connector-java.jar -> mysql-connector-java-5.1.15.jar
[jordan@Jordan-Laptop java-stuff]$
[jordan@Jordan-Laptop java-stuff]$ java -cp $CLASSPATH -jar ./my-jar.jar
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Server.loadMysqlDriver(Server.java:29)
at Server.<init>(Server.java:23)
at Server.main(Server.java:42)
[jordan@Jordan-Laptop java-stuff]$
ls -l /usr/share/java/mysql-connector-java.jar
lrwxrwxrwx. 1 root root 31 Jun 12 18:29 /usr/share/java/mysql-connector-java.jar -> mysql-connector-java-5.1.15.jar
Soooooo -
"mysql-connector-java.jar" is a symbolic link (NOT the .jar file itself).
Q: Do you know if the file it's pointing to, "mysql-connector-java-5.1.15.jar" exists?
Please run these commands (cut/paste both the command and the output, as you did before):
Code:
ls -l /usr/share/java/mysql-connector-java.jar
ls -lL /usr/share/java/mysql-connector-java.jar
ls -l /usr/share/java/mysql-connector-java-5.1.15.jar
My guess is that maybe the whole problem has been a bad symbolic link
PS:
There's no reason you couldn't just (re) download the MySql JDBC connector, and put it wherever you want. Just make sure your $CLASSPATH variable (or, better, "-cp" command-line option) points to it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.