2016-07-18 4 views
0

Für Maven 3, ich brauche dieMaven: Wie baut man die Abhängigkeit von source.jar zu JAR-Dateien und legte die JAR-Datei als Abhängigkeit?

<dependency> 
     <groupId>javax.sql</groupId> 
     <artifactId>jdbc-stdext</artifactId> 
     <version>2.0</version> 
    </dependency> 

als eine meiner Abhängigkeit zu verwenden, aber ich kann nur die Quelle jar Form Maven zentralen finden:

https://repo.maven.apache.org/maven2/javax/sql/jdbc-stdext/2.0/

, wie es zu kompilieren als normal jar in maven mit maven plugins und machen es als abhängigkeit funktionieren?

Antwort

0

Ich glaube, Sie ein weiteres Maven Repository zu Ihrem Pom hinzufügen .xml und jdbc-stdext-2.0.jar http://repo.jfrog.org/artifactory/libs-releases/javax/sql/jdbc-stdext/2.0/

<repository> 
    <id>jfrog-libs</id> 
    <name>jfrog-libs</name> 
    <url>http://repo.jfrog.org/artifactory/libs-releases</url> 
    <snapshots> 
     <enabled>false</enabled> 
    </snapshots> 
</repository> 
+0

warum Importbibliotheken erhalten, wenn die Klassen sind in der Standard-Java-Installation enthalten? Ich denke, es hat einen Grund, warum der Jar of ausführbaren Code nicht im Standard-Repository zur Verfügung gestellt wird. – JimHawkins

+0

Ja, nicht nötig, wenn das JDK es hat. Aber für Projekte, die von älteren JDK-Versionen abhängen, kann diese Antwort hilfreich sein. – Rocherlee

0

fand ich diesen Artikel: Maven central is missing jars for transitive dependencies

Also habe ich heruntergeladen sources.jar von jdbc-stdext und schaute hinein. Die Klassen DataSource, ConnectionEvent und PooledConnection sind in den Standardbibliotheken von Java 8 enthalten. Sie müssen also die Abhängigkeit nicht über Maven importieren.

Edit: Wenn das Artefakt jdbc-stdext als transitive Abhängigkeit benötigt wird, können Sie Maven aus versuchen, es auf diese Weise zu holen verhindern:

<dependency> 
    <groupId>com.xy</groupId> 
    <artifactId>libA</artifactId> 
    <version>1.0.0</version> 
    <exclusions> 
     <exclusion> 
      <groupId>javax.sql</groupId> 
      <artifactId>jdbc-stdext</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency>