2013-09-05 2 views
0

У меня возникли проблемы с попыткой использовать драйвер Connector/J JDBC в моем коде.Путь к классу содержит только работающий файл

Код, который я написал, использует Class.forName("com.mysql.jdbc.Driver").newInstance() для загрузки класса до DriverManager.getConnection() используется для загрузки драйвера.

Это приводит к ClassNotFoundException для com.mydql.jdbc.Driver. У меня есть двоичный файл JAR для соединителя mysql, mysql-connector-java-5.1.26-bin.jar.

Мой код упакован в файл JAR путем создания в Netbeans.

Чтобы запустить код, я использую следующие

java -classpath "/path/to/mysql-connector-java-5.1.26-bin.jar" -jar MyJarFile.jar 

Это дает исключение: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Добавление System.out.println(System.getProperty("java.class.path")); к началу программы гравюр только MyJarFile.jar.

Я попытался добавить файл jar в переменную CLASSPATH с помощью экспорта и установить последнюю часть флага -classpath на lib/*, но с теми же результатами.

Я попытался запустить программу из файла .class. Он жаловался на то, что не смог найти или загрузить основной класс. Он запускается только тогда, когда в шаблоне классов использовался и шаблон, и MyJarFile.jar находился в этом месте. Тем не менее, он просто зависает при загрузке Драйвера.

У кого-нибудь есть мысли о том, что происходит?

ответ

0

Попробуйте не смешивать -cp и -jar вариантов, это может работать:

java -cp "mysql-connector-java-5.1.26-bin.jar:MyJarFile.jar" my.package.Main 

для * NIX или

java -cp "mysql-connector-java-5.1.26-bin.jar;MyJarFile.jar" my.package.Main 

для окон

где my.package.Main Ваш главный класс ,

+0

Это работает с загрузкой программы с терминала. Теперь, чтобы решить, почему он зависает в 'DriverManager.getConnection()'. Благодаря! –

Смежные вопросы