2010-12-26 10 views
3

Ich habe meine Reise nur in Maven2 begonnen und die Abhängigkeit Repositorys Logik ein wenig seltsam gefunden ...Maven: Repository existiert nicht mehr! Was jetzt?

Soweit ich verstehe, ich brauche ein Repository Maven Punkt, von dem es die verschiedenen POMs gefunden holen kann meine Abhängigkeiten. Mit anderen Worten, anstatt alle Abhängigkeiten in meinem lib-Ordner herunterzuladen, wie ich es in der Ant-Ära getan habe, muss ich jetzt in verschiedene Maven-Repositories schauen und hoffentlich finden, was ich brauche.

OK, dank MVNBrowser Dinge werden ein wenig einfacher. Aber! Was ist, wenn das Maven-Repository nicht mehr existiert?

Zum Beispiel verwende ich Slick in meinem Projekt. Unter den anderen Abhängigkeiten verwendet Slick JNLP (aus irgendeinem Grund). Das Artefakt für jnlp ist:

<dependency> 
     <groupId>javax.jnlp</groupId> 
     <artifactId>jnlp</artifactId> 
     <version>1.2</version> 
    </dependency> 

According to MVNBrowser, javax.jnlp kann nur in einem Repository zu finden, Freehep. Welches ist nicht mehr verfügbar.

So was nun?

Antwort

2

Dies ist wahrscheinlich der Grund, warum die meisten Maven-Repositories es nicht zulassen, dass Benutzer bestehende Versionen aktualisieren (oder entfernen) und nur Versionsnummern zulassen (oder unter einem neuen Namen veröffentlichen). In Bezug auf Ihre Abhängigkeit benötigen Sie ein anderes Repository zu finden, die es enthält, und dann dieses Repository zu einem Projekt pom wie folgt hinzufügen (oder Super):

die Kennung und URL mit den Werten
<repositories> 
    <repository> 
     <id>java.net</id> 
     <url>http://download.java.net/maven/2</url> 
    </repository> 
</repositories> 

wo Sie müssen ersetzen das neue Repo.

Alternativly Maven tatsächlich zuerst überprüft Ihre eigenen lokalen Repository, um zu sehen, ob das Paket bereits vorhanden ist (in der Regel befindet sich in $ HOME/.m2/ Ordner) so, wenn Sie die JAR-Datei in der Hand haben, dann können Sie es installieren mit

mvn install:install-file -DgroupId=javax.jnlp -DartifactId=jnlp \ -Dversion=1.2 -Dpackaging=jar -Dfile=/path/to/jnlp-1.2.jar 

beachten Sie auch, dass mvnbrowser.com keine Inhalte von allen maven-Repositories nicht verfolgen, mit dem offiziellen Spring, Sun (Oracle) und JBoss (Redhat) Repositorys bringen die bemerkenswerteste Auslassungen. Die Probleme, die Sie beschreiben, treten also häufig auf (zB bei der Installation des Oracle JDBC-Treibers), so dass Sie nach anderen Repositories suchen oder das Jar zu Ihrem eigenen hinzufügen müssen.

Verwandte Themen