Hello Maven 6 - 使用Nexus创建私服
使用Nexus创建私服
Nexus四种仓库类型
group 仓库组
hosted 宿主
proxy 代理
virtual 虚拟 主要用于maven1 可忽略
配置项目从Nexus下载构件
在项目的pom文件中
<project> ... <repositories> <repository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/group/pbulic/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/group/pbulic/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> ... </project>
配置所有项目从Nexus下载构件
在settings.xml中
<settings> ... <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/group/pbulic/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/group/pbulic/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> ... </settings>
配置镜像让Maven只使用私服
略
部署构建至Nexus
<project> ... <distributionManagement> <repository> <id>nexus-releases</id> <name>Releases Repository</name> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Snapshots Repository</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> ... </project>
Nexus仓库对匿名用户是只读的,在settings.xml中配置认证信息后,才能部署构建
<settings> ... <servers> <server> <id>nexus-releases</id> <username>admin</username> <password>*****</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>*****</password> </server> </servers> ... </settings>
手动上传部署构件至Nexus
Nexus权限管理
为每个项目分配独立的仓库
Nexus的定时任务
其他私服软件
Apache的Archiva
JFrog的Artifactory