Задать вопрос
@iAlex195

Почему JDBC 4.2 не работает без Class.forName?

Работаю в Eclipse. Добавляю зависимость в pom.xml PostgreSQL JDBC Driver.

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <name>Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>14</maven.compiler.source>
    <maven.compiler.target>14</maven.compiler.target>
  </properties>

  <dependencies>
	<dependency>
	    <groupId>org.postgresql</groupId>
	    <artifactId>postgresql</artifactId>
	    <version>42.2.20</version>
	</dependency>
  </dependencies>
</project>


При запуске в Eclipse вылетает No suitable driver found for jdbc:postgresql://localhost/
В IDEA все нормально работает.

Properties connProps = new Properties();
        connProps.put("user", user);
        connProps.put("password",  password);
               try {
			Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/", connProps);
		} catch (SQLException e) {
			e.printStackTrace();
		}


Обновлял pom.xml, выполнял команду clean install, но все равно та же ошибка.
Когда добавляю Class.forName("org.postgresql.Driver"), то все начинает работать.
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
BorLaze
@BorLaze
Java developer
Сравни строку запуска из Идеи и Эклипса. Может, последний что-то пропускает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы