Я наблюдаю странное поведение при попытке доступа к базе данных с помощью драйверов JDBC. Вот фрагмент кода:
LOGGER.debug("driver is " + driver);
try {
Class.forName(driver);
LOGGER.debug("got driver");
} catch (Throwable t) {
LOGGER.debug("throwable getting driver " + driver);
t.printStackTrace(System.out);
throw t;
}
Когда я запускаю это, вот что я вижу в трассировке стека.
08:20:00.417 [main] DEBUG - driver is com.sybase.jdbc4.jdbc.SybDriver
08:20:00.604 [main] DEBUG - throwable getting driver com.sybase.jdbc4.jdbc.SybDriver
java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.OracleDriver
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:555)
at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:547)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:449)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:426)
at com.sybase.jdbc4.jdbc.SybDriver.registerWithDriverManager(Unknown Source)
at com.sybase.jdbc4.jdbc.SybDriver.(Unknown Source)
at com.sybase.jdbc4.jdbc.SybDriver.(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
... my code
Итак, я вижу, что имя драйвера, которое я пытаюсь получить, — com.sybase.jdbc4.jdbc.SybDriver, что правильно, но по какой-то причине DriverManager ищет oracle.jdbc.OracleDriver.
Что происходит? Этот код работает хорошо уже много лет, и единственная важная информация, которую я могу вспомнить, это то, что я недавно обновил JDK на этом компьютере до Open JDK 11.
>java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
Подробнее здесь: https://stackoverflow.com/questions/549 ... cle-jdbc-o
Получение java.lang.NoClassDefFoundError: не удалось инициализировать исключение класса oracle.jdbc.OracleDriver ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Java.lang.NoClassDefFoundError: oracle/jdbc/pool/OracleDataSource — новый
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Java.lang.noclassdeffounderror: oracle/jdbc/pool/oracledatasource - новый
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Java.lang.noclassdeffounderror: oracle/jdbc/pool/oracledatasource - новый
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-