Я использую Netbeans 11.1, и я запустил код отсюда на коммерческом JDK12, загруженном с здесь
public static void main(String[] args) {
try {
String url = "jdbc:sqlanywhere:Host=192.168.88.100:3639;ServerName=premier;DatabaseName=smur";
try (Connection con = DriverManager.getConnection(url, "*******", "******")) {
String query = "select * from test";
try (Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
while (rs.next()) {
int id = rs.getInt(1);
String denumire = rs.getString(2);
System.out.println(id + " " + denumire);
}
}
}
} catch (SQLException sqe) {
System.out.println("Unexpected exception : " + sqe.toString() + ", sqlstate = " + sqe.getSQLState());
Logger.getLogger(SybaseTest64Bit.class.getName()).log(Level.SEVERE, null, sqe);
}
}
Тест в порядке, приложение подключается к базе данных и получаетданные. Но затем я переключился на OpenJDK12, и приложение больше не работает, ошибка «Исключение в потоке» main »java.lang.NoClassDefFoundError: Не удалось инициализировать класс sap.jdbc4.sqlanywhere.IDriver"
То же самоепроблема возникает в OpenJDK 11. Приложение использует драйвер JAR и несколько библиотек DLL для подключения к этой базе данных, и я думаю, что OpenJDK делает что-то другое и не может найти эти библиотеки. Класс IDriver определенно включен в JAR, как вы можете видеть на картинке.
Спасибо.
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ: полный стек
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sap.jdbc4.sqlanywhere.IDriver
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.getConnection(DriverManager.java:674)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at sybasetest64bit.SybaseTest64Bit.main(SybaseTest64Bit.java:12)
На SybaseTest64Bit.java:12 У меня есть:
try (Connection con = DriverManager.getConnection (url, "*******", "******")) {
Полный проект находится здесь: http://cc123.caido.ro/SybaseTest64Bit.zip