# maven config für nexus



## dermoritz (30. Apr 2010)

Dank diesem Forum bin ich nun dabei mich mit Repository-Management zu beschäftigen. Nun war die Installation von Nexus sehr einfach (bei Archiva war es Welten komplizierter). Das einrichten von Nexus war auch nicht das Problem. Aber das verbinden mit Maven scheint nicht ganz so einfach. Sowohl im "nexus-book" als auch in "maven complete reference" gibts dazu ja eine Beispiel-settings.xml:


```
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!—-Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!—-make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
```
nun muss ich nur die mirror url gegen meine austauschen- richtig? Das Problem ist aber das sowohl m2Eclipse moniert, das es nix von http://central runterladen kann als auch maven in der commando-zeile (ich bin mal dem Beispiel aus ersterem Buch gefolgt und habe apache shindig ausgecheckt):

```
H:\shindig>mvn build
[INFO] Scanning for projects...
Downloading: http://a-inet01:8100/nexus/content/groups/public//org/apache/apache/7/apache-7.pom
[INFO] Unable to find resource 'org.apache:apache:pom:7' in repository central (http://central)
```
was läuft hier falsch? Ich leider noch keine Ahnung von diesem ganzen "profile"-Kram. Entsprechende Beispiele von Archiva sin einfacher gestrickt - die legen nur einen Mirror von * fest.

edit: inzwischen hab ich mal den ganze profile-kram rausgenommen, es funktioniert immer noch nicht:

```
Downloading: http://a-inet01:8100/nexus/content/groups/public/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[INFO] Unable to find resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' in repository central (http://repo1.maven.org/maven2)
```


----------



## Geeeee (30. Apr 2010)

Also http://central würde ja nur einen Rechner in deinem Netz suchen (jetzt sehr vereinfacht ausgedrückt).
http://central bedeutet wohl in diesem Fall Index of /maven2/ (Das sog. central repository)
Versuche es erstmal mit dieser Info. Die untere Fehlermeldung finde ich persönlich auch etwas komisch, aber evtl. basiert die aus einem vorherigen Fehler in der Konfig und ist deshalb etwas irreführend.


----------



## dermoritz (30. Apr 2010)

das steht im Buch zu "http://central": "The nexus profile is configured to download from the central repository with a bogus URL of http://central. This URL is overridden by the mirror setting in the same settings.xml file to
point to the URL of your single Nexus group"

Also ist es völlig wurscht was da steht. Aber um das auszuschließen hab ich wie gesagt den ganzen Profile-Quatsch rausgehauen und arbeite nur noch mit Mirror.
Gibt es irgendwelche Maven-Befehle mit denen ich die Erreichbarkeit des Repositories überprüfen kann?

edit: m2Eclipse kann offensichtlich die Indizes  laden. ich hab mal kurz zu meinem archiva repository geschalten - das läuft einwandfrei. aber das nexus schein nur den index bereitzustellen aber nicht runterzuladen?!


----------



## Geeeee (30. Apr 2010)

Ahh..nun hab ich es verstanden, was die meinen. Die blocken das central einfach mit Absicht komplett raus. Das war mir vorher nicht so bewusst gewesen. Der Fehler mit http://central ist dann mehr oder weniger gewollt, wenn ich das richtig sehe.
Der zweite Fehler (aus dem Eingangspost) kommt wohl daher, dass du die Profiles rausgenommen hast, da schreibt er dann die central url "richtig" rein, hat aber dennoch dein Repository genutzt.
Kannst du dein Repo aufrufen, wenn du die url im browser eingibst?
Ein Befehle für einen Availability check kenne ich nicht, außer eben das Gegenteil: Nicht gefunden Meldung bei irgendeinem Befehl (wie du es schon siehst)


----------



## dermoritz (30. Apr 2010)

schau mal meinen letzten edit an: also im browser funzt alles wunderbar, nexus scheint auch den index bereitzustellen. aber downloaden funzt nicht. - mit archiva funzt es jedoch einwandfrei (ich hab beide urls in der settings.xml und kommentiere eine von beiden aus).
also ich schätze es ist irgendeine nexus-einstellungsfrage?


----------



## Geeeee (30. Apr 2010)

dermoritz hat gesagt.:


> also ich schätze es ist irgendeine nexus-einstellungsfrage?


... und somit hast du mich abgehängt. Kann ich dir dann nicht mehr bei helfen, weil ich über Nexus nur graue Theorie kenne :bahnhof:


----------



## kama (30. Apr 2010)

Hallo,

@dermoritz

hast Du denn im Nexus proxy repositories eingerichtet? Hast Du einen Proxy nach draußen dazwischen ?

Gruß
Karl Heinz Margaise


----------



## dermoritz (30. Apr 2010)

also ich habe es gemacht wie in der Anleitung (nexus buch). ich hab also 5 "proxy"-Repositories in der "public Repositories"-group (http://a-inet01:8100/nexus/content/groups/public/). Per default Proxy sind diese Proxy-Repositories auch alle erreichbar. Alle Proxy-Rep haben "enable remote-index" auf true. Das Indizieren von http://a-inet01:8100/nexus/content/groups/public/ aus m2Eclipse funktioniert. Das einzig komische ist, das nur com.google.. drinne ist. Mache ich "browse index" aus nexus (auf der ganzen Gruppe) ist viel mehr drinne.


----------



## dermoritz (30. Apr 2010)

ich hab den Fehler gefunden: bei einer "Repository Group" kann man ja Repositories hinzufügen. Normalerweise (so bin ich es gewohnt) fügt man von links nach rechts hinzu, aber nicht in Nexus: hier ist es von rechts nach links. Deshalb hatte ich in der Gruppe nur einige wenige spezielle Snapshot-Repositories.

Ich hab es gemerkt, als ich mal zum Repository gesurft bin und mir die meta xml angeschaut habe . Sorry für die Aufregung.


----------

