Як додати драйвер PostgreSQL як залежність у Maven?


78

Я намагаюся розробити додаток Java з Maven, використовуючи Hibernate з базою даних PostgreSQL для стійкості. Я не розумію, як я повинен підключати драйвери PostgreSQL до моєї програми. Я розумію, що ви додаєте залежності у файл pom.xml Maven, який знаходить банки з віддаленого сховища, а як щодо інших банок?


4
Банки драйверів PostgreSQL знаходяться в центральному сховищі Maven: search.maven.org/…
madth3

1
FYI, для детального розгляду цього питання під час роботи у веб-програмі, де драйвер JDBC потрібно розгорнути у вашому веб-контейнері, а не у вашому файлі WAR, див. Моє запитання: Включити бібліотеку під час програмування та компіляції, але виключити зі збірки, у проекті на базі NetBeans Maven .
Basil Bourque

Відповіді:


108

Банки драйверів PostgreSQL включені до Центрального сховища Maven:

Для PostgreSQL до 9.1 використовуйте:

<dependency>
    <groupId>postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>VERSION</version>
</dependency>

або для 9.2+

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>VERSION</version>
</dependency>

(Дякую @Caspar за виправлення)


9
Зауважте, що для версії 9.2 та пізніших версій змінився ідентифікатор групи для драйвера jdbc, тож вам потрібно шукати групову групу org.postgresql замість postgresql
Каспар,

6
Останній драйвер JDBC PostgreSQL підтримує PostgreSQL Server 7.2+; отже, немає необхідності в першому блоці (до 9.2). Ви можете знайти найновіші драйвери JDBC на сайті PostgreSQL , і ваша залежність від драйвера JDK 8 (JDBC 4.2): <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1206-jdbc42</version> </dependency>
Ян Нільсен

3
Станом на 2017-05, нумерація драйвера JDBC з jdbc.postgresql.org була перезавантажена, наразі 42.1.1.
Василь Бурк,

29

Оновлення до останнього випуску:

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.14</version>
</dependency>

Джерело

Сподіваюся, це допоможе!


8
Я вважаю, що ця відповідь не потрібна. Подумайте над тим, щоб внести редагування до прийнятої відповіді, якщо ви не вважаєте її VERSIONдостатньо показовою, щоб отримати останню версію.
Sotirios Delimanolis

Це так, але вам все одно доведеться шукати останню версію. Чи не простіше, якщо у вас тут все є?
facundofarias

17

Залежно від вашої версії PostgreSQL вам потрібно буде додати драйвер postgresql до вашого pom.xmlфайлу.

Для PostgreSQL 9.1 це буде:

<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/maven-v4_0_0.xsd">

    <name>Your project name.</name>
    <dependencies>
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>
    </dependencies>
</project>

Ви можете отримати код залежності (як і будь-яку іншу залежність) із центрального сховища maven

Якщо ви використовуєте postgresql 9.2+:

<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/maven-v4_0_0.xsd">

    <name>Your project name.</name>
    <dependencies>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.1</version>
        </dependency>
    </dependencies>
</project>

Ви можете перевірити найновіші версії та фрагменти залежностей із:


3

З веб-сайту PostgreSQL від 04.04.2016 ( https://jdbc.postgresql.org/download.html ):

"Це поточна версія драйвера. Якщо у вас немає незвичних вимог (запуск старих програм або JVM), це той драйвер, який ви повинні використовувати. Він підтримує Postgresql 7.2 або новішу версію і вимагає 1.6 або новішу JVM. Він містить підтримку для SSL і пакет javax.sql. Якщо ви використовуєте 1.6, то слід використовувати версію JDBC4. Якщо ви використовуєте 1.7, то слід використовувати версію JDBC41. Якщо ви використовуєте 1.8, то слід використовувати версію JDBC42. Якщо ви використовуєте версія Java старша за 1.6, тоді вам потрібно буде використовувати версію драйвера JDBC3, яка за необхідністю не буде актуальною "


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.