Automatically upload a local repository to a remote repository(Nexus-OSS-3)|将本地仓库上传到远程仓库
本地有标准的maven仓库(文件夹),需要批量上传到远程私有仓库,也就是离线开发的场景,手动上传几乎不可能,采用spring-boot的中小型项目,包含的jar包数量都成百上千,手动操作出错的几率太高。
只有jar包,没有pom文件。这种场景,jar文件数量一般应该不多,推荐手动上传,或者自己改造代码(实现更加简单,无非就是获取所有jar,如果是maven打包的,META-INF目录里面有pom文件,解析之类的就行了,如果没有,那只能人为操作了)。为什么不支持该场景呢?那是因为目前很多项目,都隐性依赖某些pom文件,这些依赖包内容只有pom,没有jar包。
git clone https://github.com/crazyweeds/upload-to-nexus-oss.git
cd upload-to-nexus-oss
mvn package
cd target
java -jar upload-to-nexus-oss-1.0-SNAPSHOT-jar-with-dependencies.jar ${your config.properties file path}
https://github.com/crazyweeds/upload-to-nexus-oss/releases
#deploy的线程数,默认20个,请根据自身电脑和网络情况配置。
thread.count=20
#本地仓库所在路径,解析groupId是根据pom文件内容获取的,所以路径是什么并不重要。有pom文件即可。
local.repository.path=/Users/chenruibo/.m2/repository
#maven settings.xml 配置文件中的servers节点下目标server的id
repository.id=my-server
#远程仓库路径,如果使用nexus,别选择错了,必须是host类型,不能是proxy类型
target.repo.url=http://baidu:8081/repository/maven-releases/
#deploy超时时间,单位是s。默认10分钟,正常情况,应该足够了
deploy.timeout=600