我有一個本地存儲庫,我一直從不同的項目中安裝jars一段時間。我們也有一個nexus服務器運行,但它並沒有我在本地的所有罐子。將我的本地Maven存儲庫同步到Nexus公共存儲庫
我可以嘗試一個接一個地同步罐子到連接點。但是,有沒有一種更有效的方法來同步到nexus?理想情況下,我希望執行一個可以查看本地回購庫中所有工件的單個命令,並推送任何在連接點中缺失的命令。
如果一個cmd腳本是唯一的方法,那麼這對於特定的技巧也是非常有用的。
我可能會在我的進步給予更新到目前爲止
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!"
)
)
)
)
基本問題是,所有項目都應該交付到Nexus服務器...解決了整個問題... – khmarbaise