Ich habe ein lokales Repository, in dem ich seit einiger Zeit Jars für verschiedene Projekte installiert habe. Wir haben auch einen Nexus-Server laufen, aber es hat nicht alle Gläser, die ich lokal habe.Synchronisiere mein lokales Maven-Repository mit dem öffentlichen Nexus-Repository
Ich kann versuchen, Gläser bis nexus eins nach dem anderen zu synchronisieren. Aber gibt es einen effizienteren Weg, um mit Nexus zu synchronisieren? Idealerweise würde ich einen einzigen Befehl ausführen wollen, der alle Artefakte in meinem lokalen Repo durchschaut und alles verschiebt, was im Nexus fehlt.
Wenn ein cmd-Skript der einzige Weg ist, wäre es sehr nützlich mit speziellen Tipps dazu.
Ich könnte ein Update auf meine Fortschritte geben bisher
echo off
echo MavenSync
setlocal EnableDelayedExpansion
for /R . %%f in (*) do (
set jarfile=%%~dpnxf
set name=%%~dpnf
set pomFile=!name!.pom
set clientJar=!name!-client.jar
if [!jarfile:~-4!]==[.jar] (
echo !jarfile!
echo !pomFile!
set repo=http://server/nexus/content/repositories/releases/
if [!jarfile:~-10!]==[client.jar] (
rem Handled elsewhere
) else (
if [!jarfile:~-12!]==[SNAPSHOT.jar] (
set repo=http://server/nexus/content/repositories/snapshots/
)
if EXIST !clientJar! (
echo mvn deploy:deploy-file -Dpackaging=jar -DrepositoryId=nexus -Durl=!repo! -DpomFile="!pomFile!" -Dfile="!jarfile!" -Dfiles="!clientJar!" -Dtypes=client-jar -Dclassifiers=bin
) else (
echo mvn deploy:deploy-file -Dpackaging=jar -DrepositoryId=nexus -Durl=!repo! -DpomFile="!pomFile!" -Dfile="!jarfile!"
)
)
)
)
Grundproblem ist, dass alle Projekt in den Nexus-Server liefern müssen ... das löst das ganze Problem ... – khmarbaise