maven上传
setting.xml 很重要
<servers>
<server>
<id>Nexus</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>Nexus</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<mirror>
<id>Nexus</id> <!---ID一定要正确,非常重要>
<name>Nexus Public Mirror2</name>
<url>http://1.1.1.1:8081/nexus/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
mvn deploy:deploy-file
-Dfile=D:\repository\org\freehep\freehep-graphics2d\2.4\freehep-graphics2d-2.4.jar
-Dpackaging=jar
-DgroupId=org.freehep
-DartifactId=freehep-graphics2d
-Dversion=2.4
-DrepositoryId=Nexus
-Durl=http://1.1.1.1:8081/nexus/repository/releases/
-DgeneratePom=true -DpomFile=D:\repository\org\freehep\freehep-graphics2d\2.4\freehep-graphics2d-2.4.pom
注意:1、-DrepositoryId=Nexus <----->等于setting文件中的ID 这个很重要,如果不正确会提示401错误
2、上面的代码要合成一行运行
3、由于这次我不知道ID,这里走了很多弯路
4、通过execl 等工具,可以只做批量脚本 。
下面是网上找的批量脚本,但是发现无法使用
:: init params
set groupId=组织id
set url=hosted类型的maven库(别忘记在setting.xml配置)
set repositoryId=project-test(maven私库名)
set deployFile=*.jar
echo Searching jar file..
rem 启用"延缓环境变量扩充"
for %%f in (%deployFile%) do (
set name=%%f
:: 去掉后缀,获取到版本号
set prefixName=!name:.jar=!
for /f "delims=" %%a in ("!prefixName!") do (
set "str=%%~a"
set "str=!str:-=\!"
call:getlast "!str!"
)
)
pause
exit
:getlast
set var=%~nx1
echo !var!
echo !name! to deploy to %url%
call mvn deploy:deploy-file -DgroupId=%groupId% -DartifactId=!prefixName! -Dversion=!var! -Dpackaging=jar -Dfile=!name! -Durl=%url% -DrepositoryId=%repositoryId%
goto :eof