我有一个本地存储库,我一直从不同的项目中安装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