2012-12-12 17 views
21

Guardando il repository centrale Maven il driver più recente jdbc4 disponibili per PostgreSQL è solo il driverDove posso trovare i driver PostGresql 9.2 JDBC 4 in un repository Maven?

http://mvnrepository.com/artifact/postgresql/postgresql/9.1-901.jdbc4

9,1 C'è un file più recente chiamato "postgresql-9.2-1002.jdbc4.jar" disponibile sul http://jdbc.postgresql.org/download.html ma non è stato rilasciato a Maven central.

+0

Né sono le versioni 9,2-1.000, 9,2-1001. Vedi jdbc driver [changelog] (http://jdbc.postgresql.org/changes.html) ... –

+4

È un passaggio manuale, e la gente di PgJDBC è molto occupata a fare altre cose. Avevamo qualcuno che lavorava sull'automazione delle versioni di PgJDBC su Central usando maven-ant-tasks, ma sembra che siano svanite. Tutti vogliono questo, ma è molto difficile trovare persone disposte a passare del tempo a migliorare effettivamente il driver JDBC e i suoi processi di rilascio. Sei disposto ad aiutare? Pubblicare sulla mailing list psql-jdbc in caso affermativo. –

+0

@CraigRinger Posso farlo se solo sapessi come costruire il jar JDBC3. Ho provato a impostare alcune proprietà ('-Djdbc4 = false e -Djdbc3 = true') ma vari crap si sono rotti (presumo di aver bisogno di un JDK più vecchio). –

risposta

0

Ho aggiunto il driver 9.2-1002 al mio repository Maven che è ospitato da Google Code (github non era popolare molto tempo fa quando l'ho creato).

<repository> 
     <id>mvn-adamgent</id> 
     <url>http://mvn-adamgent.googlecode.com/svn/maven/release</url> 
     <name>Adam Gent Maven Repository</name> 
    </repository> 

ho provato ad andare e fissare i postgres costruire per costruire me un pilota JDBC3 ma penso che è necessario installare un vecchio JDK per ottenere che il lavoro così ho afferrato i vasetti da: http://jdbc.postgresql.org/download.html

<dependency> 
     <groupId>postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.2-1002.jdbc4</version> 
    </dependency> 

Ho incluso anche un jar sorgente (quindi Maven scaricherà automaticamente l'origine per voi) ma non ho creato jar Javadoc o JDBC3.

Se solo sapessi come rendere correttamente il vaso JDBC3, potrei apportare le modifiche al loro file di build (@Craig Ringer) su my github fork.

+0

Compilare il driver JDBC3 utilizzando JDK 1.4 o 1.5. Se ciò non è spiegato nel readme, allora ho davvero bisogno di risolverlo; Controllerò. Non costruiamo il driver JDBC3 con un JDK più recente perché a Java manca un badge '-stdlib 1.4' o qualcosa che esclude le funzionalità * standard della libreria *. '-source 1.4 -target 1.4' è quindi insufficiente per assicurarsi che il driver prodotto * venga effettivamente eseguito * su JDK precedenti. –

+0

Ah ah sì lo dice nel readme :) Credo di aver avuto un po 'di ADD e l'ho perso. –

6

(Questa risposta è ormai superata; i vasi sono stati rilasciati al Maven sotto la groupid org.postgresql Vedi le risposte più recenti per i dettagli.).

Si può semplicemente installare il driver per la vostra repository locale ~/.m2. Vedi the maven documentation e this question.

mvn install:install-file \ 
    -DgroupId=postgresql \ 
    -DartifactId=postgresql \ 
    -Dpackaging=jar \ 
    -Dversion=9.2-1002.jdbc4 \ 
    -Dfile=postgresql-9.2-1002.jdbc4.jar \ 
    -DgeneratePom=true 

In alternativa, se si sta utilizzando Sonatype Nexus per gestire archivi e caching - che consiglio vivamente - allora è possibile aggiungere il vaso in un repository gestito localmente nell'istanza Nexus.

+0

Cosa succede se un altro sviluppatore deve lavorare su questo progetto e non ha quel jar installato nel suo repository locale? Ciò rende la build non portatile. – SergeyB

+0

@ike_love Quindi dovresti utilizzare un'istanza Nexus condivisa nel team. Il team di PgJDBC ha davvero bisogno di volontari per aiutare con le versioni di Maven e altri lavori di amministrazione. –

4

È possibile utilizzare il repository TypeSafe, che contiene il driver 9.2. Usa:

<repository> 
     <id>typesafe</id> 
     <url>http://repo.typesafe.com/typesafe/repo/</url> 
    </repository> 

spero che 9.2 conducente sarà in repository centrale presto, controllare https://github.com/pgjdbc/pgjdbc/issues/46 per il progresso.

8

seguito descrizione dipendenza funziona per me:

<dependency> 
    <groupId>org.postgresql</groupId> 
    <artifactId>postgresql</artifactId> 
    <version>9.2-1002-jdbc4</version> 
</dependency> 
25

Sembra PostgreSQL ha aggiornato il suo groupId-org.postgresql invece di postgresql.

Così ora è possibile usare Maven direttamente (mvnrepository.com):

<dependency> 
    <groupId>org.postgresql</groupId> 
    <artifactId>postgresql</artifactId> 
    <version>9.2-1002-jdbc4</version> 
</dependency> 
+0

Questo è successo dopo che è stato effettuato il post originale, ma ora è la risposta corretta. –

Problemi correlati