# Maven2 internes Repository erstellen



## Niki (30. Jan 2008)

Hallo Forum!

Wie der Titel bereits sagt versuche ich ein Unternehmensweites Repository auf einem shared Verzeichnis zu erstellen.
Ich habe das ganze im settings.xml wie folgt angelegt:

```
<mirrors>
   <mirror>
      <id>ibiblio.org</id>
      <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
      <mirrorOf>central</mirrorOf>
      
    </mirror>
    <mirror>
      <id>mycomp.at</id>
      <name>...</name>
      <url>file://dir1/dir2/maven2repos</url>
      <mirrorOf>internal</mirrorOf>
      
    </mirror>   
  </mirrors>
```

Jedoch wird das Repository nicht gefunden. Kann mir jemand sagen was man dafür beachten muss oder wie so eine Repository-Definition korrekt aussehen muss?
Danke!


----------



## maki (30. Jan 2008)

Ich verwende artifactory, viiiiiiiiiiiiiiiiiieeeeel einfacher 

http://www.jfrog.org/sites/artifactory/latest/


----------



## Niki (30. Jan 2008)

Danke, werd ich mir mal anschauen!


----------



## maki (30. Jan 2008)

Soweit ich das vestanden habe, können nicht-lokale repos nur per http erreicht werden, die andere Möglichkeit wäre manuell einen Webserver aufsetzen der dann die artifakte ausliefert, nur mit Dateien geht das imho nicht.
Aber wie gesagt, artifactory ist eigentlich sehr komfortabel, besonders wenn man noch ein paar Artifakte aufnehmen muss die sonst nirgends als Maven2 Artifakte erhältlich sind.


----------



## DP (30. Jan 2008)

*verschoben*


----------



## Niki (31. Jan 2008)

So, Artifactory ist aufgesetzt, ich hab auch schon geschafft ein eigenes Artifact zu deployen. Leider zeigt er mir die Artefakte von den remote-Repositories nicht an. Ich hab den Proxy meiner Meinung nach richtig konfiguriert:

```
<proxies>
       <proxy>
		<key>myproxy</key>
		<host>proxyserver</host>
		<port>proxyport</port>		
		<username></username>
		<password></password>
		<domain></domain>	
	</proxy>
    </proxies>
```

In den remote Repositories verweise ich auch darauf mit proxyRef.

Hab ich noch irgendwas vergessen?


----------



## maki (31. Jan 2008)

aus meiner settings.xml:

```
<settings>
    <profiles>
        <profile>
            <id>maki</id>
                <properties>
                    <env>maki</env>
                </properties>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://hostnameLocalRepServer:port/artifactory/repo</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>snapshots</id>
                    <url>http://hostnameLocalRepServer:port/artifactory/repo</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://hostnameLocalRepServer:port/artifactory/plugins-releases</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>snapshots</id>
                    <url>http://hostnameLocalRepServer:port/artifactory/plugins-snapshots</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>maki</activeProfile>
    </activeProfiles>
</settings>
```
Der *env* Eintrag ist übrigens da um auf verschiedenen Umgebungen (am besten prod, test, dev und eines für jeden Entwickler) verschiedene Einstellungen für zB DB urls, benutzernamen, passwörter etc. zu verwenden.

Für dich sind die Repositories samt den Profilen wichtig.


----------



## Niki (31. Jan 2008)

Danke, aber ich glaub wir haben aneinander vorbei geredet 

Das sind doch die Settings bereits für maven2, oder? Falls ja, so weit bin ich ja noch gar nicht. Ich möcht mir derzeit nur mal die Artefakte in der Artifactory-Webapp im Repository Tree anzeigen lassen. Also findet mir bereits die Artifactory die Repositories nicht, oder?


----------



## maki (31. Jan 2008)

> Danke, aber ich glaub wir haben aneinander vorbei geredet


Möglich 



> Das sind doch die Settings bereits für maven2, oder?


Ja.



> Ich möcht mir derzeit nur mal die Artefakte in der Artifactory-Webapp im Repository Tree anzeigen lassen.


Da steht nix drinnen ime, solange keine Maven 2 Client versucht hat da was zu finden, sonst müsste der Proxy (artifactory) ja anfangen alles aufzunehmen, selbst wenn niemals danach verlangt wird.

Bin nicht sicher ob ich dich richtig verstanden habe.

Also: Browsing -> Repositories Tree klicken
Solange noch kein Client versucht hat, Artefakte zu saugen ist diese Ansicht leer.
Wenn dann Anfragen gemacht wurden, weil sie in der pom.xml stehen, zB commons-logging, finde ich dann in dieser Ansicht den Punkt "repo1-cache", da drunter leigt dann ds commons-logging Artefakt.

Proxy musste ich gar keinen Konfigurieren, da wir hier keinen verwenden.


----------



## Niki (31. Jan 2008)

Alles klar, dann werde ich einfach mal versuchen über die Artifactory Artefakte zu saugen, dann müssten ja die Einträge gemacht werden!

Danke, du hast mir wieder mal viel weiter geholfen (woher nimmst du all dieses Wissen, hat dein Tag mehr Stunden als meiner? )


----------



## maki (31. Jan 2008)

Rein zufällig hab ich erst ein Projekt nach Maven 2 konvertiert, ein erfahrener Kollege hat mich auf artifactory aufmerksam gemacht, mehr war da nicht dabei 

Typisches Beispiel für Synergyeffekte, hättest du vor einem halben Jahr gefragt oder in einem Jahr, hätte ich dir wahrscheinlich nicht helfen können


----------



## Niki (31. Jan 2008)

Soda, war jetzt auf Mittagspause und hab es daher erst jetzt ausprobieren können. Es funktioniert genauso wie ich es erwartet habe. Bin begeistert!
Wie du geschrieben hast, die Artefakte werden in der Tree-View erst angezeigt, nachdem sie runter geladen wurden!


----------

