【发布时间】:2018-02-09 04:43:27
【问题描述】:
我有一个本地存储库,一段时间以来我一直在安装来自不同项目的 jars。我们还运行了一个 nexus 服务器,但它没有我在本地拥有的所有 jar。
我可以尝试将 jar 一个一个同步到 nexus。但是有没有更有效的方法来同步到 nexus 呢?理想情况下,我希望执行一个命令,该命令将查看本地 repo 中的所有工件,并推送 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 服务器...这解决了整个问题...
标签: java maven synchronization nexus artifacts