Я знаю, что это старый вопрос, но здесь дело обстоит иначе. Похоже, это ошибка в классах jar JAVA 10 или MySQLConnector / J 8.0.12.
Те же проекты (многие из них, а не один), которые отлично работали с JAVA 8 и MySQLConnector / J 5.1.39, которые я использовал раньше, теперь не работают после того, как я обновил свою систему.
Но ошибка появляется только с RowSet. При явном использовании DriverManager / Connection / ResultSet он отлично работает с тем же URL-адресом, параметрами URL-адреса и драйвером MySQL.
Я пытался избыточно использовать Class.forName ("") ... а также варианты параметров URL-адреса, но ничего не работает, когда я использую RowSet. Тот же самый java.sql.SQLException: не найден подходящий драйвер для jdbc: mysql: // localhost: 3306 / scheme1? VerifyServerCertificate = false & useSSL = true выдается снова и снова.
Почему один и тот же код работает с Java 8, а не с Java 10?
try {
RowSet rowSet = RowSetProvider.newFactory().createCachedRowSet();
String url = "jdbc:mysql://localhost:3306/scheme1?verifyServerCertificate=false&useSSL=true";
rowSet.setUrl(url);
rowSet.setUsername("root");
rowSet.setPassword("root");
rowSet.setCommand("select * from client");
rowSet.execute();
while(rowSet.next()) {
System.out.println(rowSet.getInt(1)+" "+rowSet.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
(Смотрите картинки с ошибкой).
Если кто-то знает проблему и решение, пожалуйста, помогите. Я бы хотел и дальше использовать Java 10.
Даниэль Пиньейро
Я не искал этого. Я думал, что новейшая версия драйвера совместима с jdk 9 и 10 (сейчас они должны делать драйвер для java 11). Тогда мне придется подождать ... интересно, почему они всегда опаздывают. По крайней мере, с DriverManager / Connection / ResultSet он работает. Только RowSet этого не делает. Hibernate также работает с драйвером, использующим jdk 10. Я уже тестировал его.
mysql-connector.jar для JAVA 8 Вам нужно подождать, пока MySQL развернет коннектор для JAVA 10 или откатится до JAVA 8.
Я не искал этого. Я думал, что новейшая версия драйвера совместима с jdk 9 и 10 (сейчас они должны делать драйвер для java 11). Тогда мне придется подождать ... интересно, почему они всегда опаздывают. По крайней мере, с DriverManager / Connection / ResultSet он работает. Только RowSet этого не делает. Hibernate также работает с драйвером, использующим jdk 10. Я уже тестировал его.
Совершенно ясно, какие поддерживаемые версии - dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.ht мл