Драйвер JDBC Oracle с Java 9 java.lang.NoClassDefFoundError: Не удалось инициализировать класс oracle.jdbc.OracleDriver - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь заставить приложение Java работать с Java 9+.При запуске в 1.9 jre я получаю следующую трассировку стека:

2018-06-06 11:22:54.304 ERROR - main - Replicator - (stderr) java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.OracleDriver
2018-06-06 11:22:54.305 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr)    at java.base/java.lang.Class.forName0(Native Method)
2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr)    at java.base/java.lang.Class.forName(Unknown Source)
2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr)    at java.sql/java.sql.DriverManager.isDriverAllowed(Unknown Source)
2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr)    at java.sql/java.sql.DriverManager.isDriverAllowed(Unknown Source)
2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.306 ERROR - main - Replicator - (stderr)    at java.sql/java.sql.DriverManager.getDrivers(Unknown Source)
2018-06-06 11:22:54.307 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.307 ERROR - main - Replicator - (stderr)    at java.sql/java.sql.DriverManager.getDrivers(Unknown Source)
2018-06-06 11:22:54.307 ERROR - main - Replicator - (stderr) 

2018-06-06 11:22:54.307 ERROR - main - Replicator - (stderr)    at org.apache.commons.dbcp2.BasicDataSource.<clinit>(BasicDataSource.java:77)

Я подтвердил, что путь к классам точен, потому что 1. это нормально работает в Java 8, и 2. все остальные файлы .jar работают правильнозагружается при запуске в 9. У кого-нибудь была удача при запуске драйверов jdbc Oracle на Java 9+?

1 Ответ

0 голосов
/ 06 июля 2018

Итак, проблема закончилась тем, что я включил ведение журнала трассировки для DriverManager.Старый драйвер jconn для Sybase конфликтовал с Java 9/10 и вызывал ошибку DriverManager.Видя, что это устаревший драйвер, это имеет смысл.

...