搭建nexus时项目依赖了很多快照版本,手头又没有快照版本的历史代码。百度搜索一番后发现可以使用 mvn deploy直接上传到快照库
上传jar命令:
mvn deploy:deploy-file "-DgroupId=com.json" "-DartifactId=json" "-Dversion=1.0.1-SNAPSHOT" "-Dpackaging=jar" "-Dfile=E:\opt\.m2\repository\com\json\1.0.1-SNAPSHOT\json-1.0.1-SNAPSHOT.jar" "-Durl=http://admin:admin123@10.6.6.5:8081/repository/maven-snapshots/" "-DpomFile=E:\opt\.m2\repository\com\json\1.0.1-SNAPSHOT\json-1.0.1-SNAPSHOT.pom"
DpomFile 代表上传该SNAPSHOT版本jar的pom文件。如果pom文件里没有别的依赖 可以不传,nexus会自动生成pom。
上传pom命令:
mvn deploy:deploy-file "-DgroupId=com.json" "-DartifactId=json" "-Dversion=1.0-SNAPSHOT" "-Dpackaging=pom" "-Dfile=E:\opt\.m2\repository\com\json\1.0.1-SNAPSHOT\json-1.0.1-SNAPSHOT.pom" "-Durl=http://admin:admin123@10.6.6.5:8081/repository/maven-snapshots/"
windows下上传一定要加上"" ,要不会报no pom的问题。
由于maven不会自动下载SNAPSHOT依赖
故修改maven settings.xml文件添加如下:
<profile>
<id>allow-snapshots</id>
<activation><activeByDefault>true</activeByDefault></activation>
<repositories>
<repository>
<id>snapshots-repo</id>
<url>http://10.6.6.5:8081/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
</profile>
项目太多就不在项目里加了。也可以在项目pom中指定相应的配置。
私服镜像配置
<mirror>
<id>tazyy</id>
<mirrorOf>*</mirrorOf>
<name>tazyy</name>
<url>http://10.6.6.5:8081/repository/maven-public/</url>
</mirror>
如果是release版的jar直接使用nexus上传即可。需要注意如果pom有依赖一定要先上传pom,再上传jar
来源:oschina
链接:https://my.oschina.net/u/3065626/blog/4492324