powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
10 сообщений из 10, страница 1 из 1
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157884
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, этот вопрос всем уже надоел, но ничего не могу с собой поделать. Читал кучу статей и постов в блогах, перепробовал все. ОС - CentOS 7.1, Oracle 11.2.
Переменные в ОС:
Код: sql
1.
2.
3.
4.
[root@CentOS-71-64-minimal oracle]# echo $CLASSPATH
/u01/app/oracle/product/11.2.0/xe/jdbc/lib
[root@CentOS-71-64-minimal oracle]# echo $PATH
/u01/app/oracle/product/11.2.0/xe/jdbc/lib:/u01/app/oracle/product/11.2.0/xe/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


Драйвера на месте:
Код: sql
1.
2.
3.
4.
5.
6.
[root@CentOS-71-64-minimal oracle]# ls -l $CLASSPATH
total 12060
-rwxr-xr-x 1 oracle dba  2030135 Aug 29  2011 ojdbc5.jar
-rwxr-xr-x 1 oracle dba  3872378 Aug 29  2011 ojdbc6_g.jar
-rwxr-xr-x 1 root   root 2739670 Jan 27 18:56 ojdbc6.jar
-rwxr-xr-x 1 root   root 3698857 Jan 28 09:52 ojdbc7.jar

В IDE в качестве драйвера указан файл ojdbc7.jar.
Запускаю как обычно:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[root@CentOS-71-64-minimal oracle]# java -jar my_prog.jar 
java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at DBConn.<init>(DBConn.java:15)
	at my_prog.main(my_prog.java:16)


Пробовал еще драйвер класть в папку с моим jar файлом, пробовал запускать как
Код: sql
1.
java -classpath /u01/app/oracle/product/11.2.0/xe/jdbc/lib -jar my_prog.jar


Код:
Код: java
1.
2.
3.
4.
5.
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

Где-то тут видел совет попробовать так:
Код: java
1.
2.
3.
4.
5.
        try {
            Class.forName("oracle.jdbc.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

Тоже не помогает.
Файл собираю в IntelliJ IDEA, потом по ssh копирую на сервер (не знаю, насколько это важно).
Что еще может быть не так?
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157900
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А прав прочитать jar'ник с драйвером то хватает?
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157911
skywriter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич[/src]
Пробовал еще драйвер класть в папку с моим jar файлом, пробовал запускать как
[src]
java -classpath /u01/app/oracle/product/11.2.0/xe/jdbc/lib -jar my_prog.jar
<...>
Что еще может быть не так?
Попробуйте так:
java -cp /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ ojdbc7.jar -jar my_prog.jar

Узнайте точно, какой именно нужен класс драйвера, убедитесь, что такой именно класс имеется в jar.
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157918
skywriter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
man java -classpath classpath, -cp classpath
Specifies a list of directories, JAR files, and ZIP archives to search for class files. Separate class path entries with
colons (:). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable.
If -classpath and -cp are not used and CLASSPATH is not set, then the user class path consists of the current directory (.).
As a special convenience, a class path element that contains a base name of * is considered equivalent to specifying a list
of all the files in the directory with the extension .jar or .JAR. A Java program cannot tell the difference between the two
invocations.
For example, if directory mydir contains a.jar and b.JAR, then the class path element mydir/* is expanded to a A.jar:b.JAR,
except that the order of jar files is unspecified
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157951
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skywriterПопробуйте так:
java -cp /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ ojdbc7.jar -jar my_prog.jarТо же самое.

skywriterУзнайте точно, какой именно нужен класс драйвера, убедитесь, что такой именно класс имеется в jar.А как это сделать?

just_vladimirА прав прочитать jar'ник с драйвером то хватает?Хватает. Я в стартовом посте приводил результат выполнения ls -l, там видно разрешения на файлы. Насколько я понимаю, все доступно. Да и запускаю из-под рута...
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157974
skywriter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор КузьмичskywriterУзнайте точно, какой именно нужен класс драйвера, убедитесь, что такой именно класс имеется в jar.А как это сделать?

Код: java
1.
 jar -tf /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc7.jar 


Скорее всего опечатка где-то.
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39157984
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич,

-classpath не работает с -jar. Не помню уже где официальную информацию видел.
Поэтому либо java -classpath "$CLASSPATH:my_jar.jar" my.mainclass.Name, либо прописывать Class-Path в манифесте у jar и таскать библиотеку вместе c my_jar.jar Документация http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39158024
skywriter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxkar-classpath не работает с -jar.
Точно. Вот и Tomcat так запускают:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Djava.security.manager \
      -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
      org.apache.catalina.startup.Bootstrap "$@" start
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39158026
skywriter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
man java -jar
Executes a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name.
For this option to work, the manifest of the JAR file must contain a line in the form Main-Class: classname. Here, classname
identifies the class with the public static void main(String[] args) method that serves as your application's starting point.
When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored .
...
Рейтинг: 0 / 0
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    #39158042
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxkarлибо прописывать Class-Path в манифесте у jar и таскать библиотеку вместе c my_jar.jarО! Помогло!!!
Спасибо.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]