window批处理方式,上传jar及pom至私有仓库

       刚好项目中使用到了maven进行jar的管理,但因为这些jar在客户的私有仓库里,公司为了想让其它地方的同事,使用本项目,提出要将这些依赖的jar包及maven描述文件上传到公司的maven仓库里。

       为了方便操作,一种方式是将jar打包给公司的管理员,另一种是使用maven的命令工具将jar一个个的传到仓库里,因为涉及到权限问题,管理员不太愿意直接让我们打包给其文件包,因为我们选择第二种方式,使用,maven客户端命令行方式,但因为涉及的jar包非常多,一个一个的执行命令,会非常的浪费时间,因此我这里写了一个window批处理脚本,自动将jar包传至公司仓库中。
       这里使用了mavne3.3.3的客户端,从apache上下载而来,最初下载的为3.5.3,但这个版本执行过程中,jar过大时,会提示超过最大限制,而且是客户端的限制,换回3.3.3后,jar过大的问题不再出现。这应该是3.5.3需要进行一些配置,还没有研究到,这个问题这里记录一下。

       另如果对应的jar文件在.m2本地仓库目录下,将需要将所有文件拷贝一份,放到别的目录下。
       脚本内容如下,文件名为:mvnupload.bat:
               @echo off 
              for /R "%1" %%i in (*.jar) do ( 
                  echo  %%~di%%~pi%%~ni.jar
                  echo  %%~di%%~pi%%~ni.pom
 mvn -X deploy:deploy-file -Dpackaging=jar -Durl=http://218.106.118.147:9888/nexus/content/repositories/hollycrm-cmcc/ -DrepositoryId=hollycrm-cmcc -Dfile=%%~di%%~pi%%~ni.jar -DpomFile=%%~di%%~pi%%~ni.pom
)
    脚本比较简单,涉及脚本语法部分的内容,请在度娘里搜一下。脚本执行前需要做的工作如下:
           (1)复制本地.m2目录中涉及的jar文件复制到其它目录下,如D:\responsitory;
           (2)在maven的conf目录的settings.xml中配置一个server节点,serveer节点的id为:hollycrm-cmcc,与mvn命令行中的-DrepositoryId=hollycrm-cmcc 对应;

            (3)打开window的cmd命令行, 然后执行:mvnupload.bat D:\responsitory;
    这样就可以批量将D:\responsitory对应的jar包传到对应的maven仓库里了,注意mvn中的-X是为了打印debug信息,如果不想打印debug信息,可以省略该参数。

猜你喜欢

转载自blog.csdn.net/fycghy0803/article/details/79540374