Maven2 internes Repository erstellen

Status
Nicht offen für weitere Antworten.

Niki

Top Contributor
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:
Code:
  <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!
 
M

maki

Gast
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.
 

Niki

Top Contributor
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:
Code:
<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?
 
M

maki

Gast
aus meiner settings.xml:
Code:
<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

Top Contributor
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?
 
M

maki

Gast
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

Top Contributor
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? )
 
M

maki

Gast
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

Top Contributor
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!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben