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. Je comprends qu'il faut ajouter des dépendances dans le fichier pom.xml de Maven, qui trouve des bocaux à partir d'un dépôt distant, mais qu'en est-il des autres bocaux ?
Réponses
Trop de publicités?Les bocaux des pilotes PostgreSQL sont inclus dans le dépôt central de Maven :
Pour PostgreSQL jusqu'à la version 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)
En fonction de votre version de PostgreSQL, vous devrez ajouter le pilote postgresql à votre fichier pom.xml
fichier.
Pour PostgreSQL 9.1, ce 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) à partir du dépôt 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épendances sur le site :
Du site PostgreSQL, de date 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 (exécution d'anciennes applications ou de JVM), il s'agit du pilote que vous devriez utiliser. Il prend en charge Postgresql 7.2 ou une version plus récente et nécessite une JVM 1.6 ou plus récente. Il prend en charge SSL et le paquet 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 JDBC42. Si vous utilisez une version de Java antérieure à la version 1.6, vous devrez utiliser une version JDBC3 du pilote, qui ne sera nécessairement pas à jour"