上一篇文章中,我们介绍了如何搭建 Nexus 的 Maven 私服(一步步教你如何搭建 Nexus 的 Maven 私服),今天简单做一个扩展,搭建一下 release 和 snapshot 库。
release和snapshot版本库
- release 是存放发布后的项目。
- snapshot 是存放测试中的项目。
- repository 类似于 maven-public, 存放其他的依赖。
我们设置 repository 仓库的时候,选择的 Mixed,这个就相当于 maven public。
创建 release 和 snapshot 仓库
创建方法和之前的一样,需要主要三个地方。
配置 idea
在 idea 中配置 maven ,允许上传到 snapshots 库。
勾选 允许更新 snapshots
配置 setting.xml
- 在 servers 下面添加新建的两个仓库。
- 配置 nexus
<profile> <!--profile 的 id--> <id>nexus</id> <repositories> <repository> <!--仓库 id,repositories 可以配置多个仓库,保证 id 不重复--> <id>nexus</id> <!--仓库地址,即 nexus 仓库组的地址--> <url>http://192.168.200.135:8081/repository/maven-public/</url> <!--是否下载 releases 构件--> <releases> <enabled>true</enabled> </releases> <!--是否下载 snapshots 构件--> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件仓库,maven 的运行依赖插件,也需要从私服下载插件 --> <pluginRepository> <!-- 插件仓库的 id 不允许重复,如果重复后边配置会覆盖前边 --> <id>public</id> <name>Public Repositories</name> <url>http://192.168.200.135:8081/repository/maven-public/</url> <!--是否下载 releases 构件--> <releases> <enabled>true</enabled> </releases> <!--是否下载 snapshots 构件--> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- activeProfiles | List of profiles that are active for all builds. | <activeProfiles> <activeProfile>alwaysActiveProfile</activeProfile> <activeProfile>anotherAlwaysActiveProfile</activeProfile> </activeProfiles> --> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles>
开发使用
一般部署在父项目的 pom 文件中
<distributionManagement>
<snapshotRepository>
<id>xxx-snapshots</id>
<url>http://192.168.200.135:8081/repository/xxx-snapshots/</url>
</snapshotRepository>
<repository>
<id>xxx-releases</id>
<url>http://192.168.200.135:8081/repository/xxx-releases/</url>
</repository>
</distributionManagement>
<repositories>
<repository>
<id>nexus</id>
<url>http://192.168.200.135/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
测试
我们使用 maven 的 deploy 工具部署一下,如果上传到 snapshots 库中即代表成功。
感谢大家读到这里,后续还会有其他相关文章,欢迎继续阅读。