2015-12-12 2 views
1

Я столкнулся с множеством вопросов, таких как this и this, которые были почти такими же, как у меня, но не могли помочь мне в решении моей проблемы. Поэтому я отправляю его на помощь.
Я пытался использовать драйвер JDBC с PostgreSQL и следовал this tutorial. Я пробовал одну и ту же программу Java на Eclipse, а также пытался скомпилировать ее с терминала. Поместив postgresql-9.4-1206-jdbc4.jar в папку библиотеки в Eclipse, он компилирует и запускает отлично в среде IDE. Теперь я поместил свой JDBCExample.java и postgresql-9.4-1206-jdbc4.jar в ту же папку test. Но когда я пытаюсь в моем терминале с этим,Проблема с драйвером JDBC при компиляции java-программы с терминала

cd test 
javac JDBCExample.java 
java JDBCExample -cp postgresql-9.4-1206-jdbc4.jar 

Я получаю

-------- PostgreSQL JDBC Connection Testing ------------ 
Where is your PostgreSQL JDBC Driver? Include in your library path! 
java.lang.ClassNotFoundException: org.postgresql.Driver 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:191) 
    at JDBCExample.main(JDBCExample.java:14) 

Я также пытался переписывать вторую команду, как java JDBCExample -cp .:postgresql-9.4-1206-jdbc4.jar но нет никаких изменений. Что здесь не так?

+3

обратный порядок, '-cp ...' перед 'JDBCExample'; вы в настоящее время передаете параметры '-cp' и' postgresql-9.4-1206-jdbc4.jar' в свое приложение вместо Java. –

+0

Когда я делаю это 'java -cp postgresql-9.4-1206-jdbc4.jar JDBCExample', я получаю' Не удалось найти или загрузить ошибку основного класса JDBCExample'. –

+2

@zorro_blue Поскольку опция '-cp' заменяет путь к классам, вам также нужно указать, где найти' JDBCExample.class', например. '-cp.; postgresql-9.4-1206-jdbc4.jar', чтобы включить локальный каталог. – Andreas

ответ

0

Как обсуждалось в комментариях, настраивая вызов быть

java -cp .:postgresql-9.4-1206-jdbc4.jar ~/test/JDBCExample 

работал.

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