web-dev-qa-db-fra.com

Comment ajoutez-vous PostgreSQL Driver comme dépendance dans Maven?

J'essaie de développer une application Java avec Maven tout en utilisant Hibernate avec une base de données PostgreSQL pour la persistance. Je ne comprends pas comment je suis censé connecter les pilotes PostgreSQL à mon application. I obtenez que vous ajoutiez des dépendances dans le fichier pom.xml de Maven, qui trouve les fichiers JAR à partir d'un référentiel distant, mais qu'en est-il des autres fichiers JAR?

68

Les fichiers JAR des pilotes PostgreSQL sont inclus dans le référentiel central de Maven:

Pour PostgreSQL jusqu'à 9.1, utilisez:

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

ou pour 9.2+

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

(Merci à @Caspar pour la correction)

99
madth3

Mise à jour pour la dernière version:

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

Source

J'espère que ça aide!

23
facundofarias

Selon votre version de PostgreSQL, il vous faudra ajouter le pilote postgresql à votre pom.xml fichier.

Pour PostgreSQL 9.1, cela serait:

<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>

Vous pouvez obtenir le code de la dépendance (ainsi que de toute autre dépendance) depuis le référentiel central de maven.

Si vous utilisez 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>

Vous pouvez consulter les dernières versions et les extraits de dépendance à partir de:

17
tftd

Depuis le site PostgreSQL, du 02/04/2016 ( https://jdbc.postgresql.org/download.html ):

"Il s'agit de la version actuelle du pilote. À moins que vous n'ayez des exigences inhabituelles (exécution d'anciennes applications ou JVM), vous devez utiliser ce pilote. Il prend en charge Postgresql 7.2 ou plus récent et nécessite une machine virtuelle Java 1.6 ou plus récente. Il prend en charge SSL et le package javax.sql. Si vous utilisez la version 1.6, vous devez utiliser la version JDBC4. Si vous utilisez la version 1.7, vous devez utiliser la version JDBC41. Si vous utilisez la version 1.8, vous devez utiliser la version JDBC42Si vous utilisez a Java antérieure à 1.6, vous devrez utiliser une version JDBC3 du pilote, qui ne sera nécessairement pas à jour "

2
Daniel Sava
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <scope>runtime</scope>
</dependency>
0
ByteCode Thread