maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)。
pom文件内容如下:
<groupId>org.learn.maven</groupId>
<artifactId>mavenweb</artifactId>
<version>1.0-SNAPSHOT</version>
那么将本地的Maven项目上传至私服对应的仓库中呢?
nexus私服中我们可以看到有两种仓库一个是maven-releases,另一个是maven-snapshots正好与之对应,我们可以通过配置将项目发布至相应的仓库中
pom.xml文件增加配置
<!--定义snapshots库和releases库的nexus地址-->
<distributionManagement>
<repository>
<id>maven-releases</id>
<url>
http://localhost:8081/repository/maven-releases/
</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<url>
http://localhost:8081/repository/maven-snapshots/
</url>
</snapshotRepository>
</distributionManagement>
配置的url是我们nexus中对应的仓库的url.
配置setting.xml文件,添加上传构建到nexus私服中的账号和密码,如果不配置我们将没有权限上传至私服中
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
使用Maven的deploy命令上传项目
控制台成功输出信息,我们这时再到nexus中查看上传的项目
上传完成,因为我们pom文件中项目的版本是1.0-SNAPSHOT,所以项目就上传至maven-snapshot目录中,如果设置的是1.0-RELEASE 则上传至maven-release目录中。
原文地址:https://www.cnblogs.com/panchanggui/p/12110151.html