maven私服
可以使用Nexus仓库管理器搭建maven私服,该页面默认用户和密码为admin/admin123
Nexus内置仓库
Nexus有四种类型的仓库:group(仓库组)、hosted(宿主)、proxy(代理)和virtual(虚拟)。
其流程为,Maven可以直接从宿主仓库下载构件;Maven也可以从代理仓库下载构件,而代理仓库会间接从远程仓库下载并缓存构件;为了方便,Maven可以从仓库组下载构件,而仓库组没有实际内容,会转向其包含的宿主仓库或者代理仓库获得实际构件的内容
其内置仓库为
- Maven Central:该仓库代理maven中央仓库,策略为Release,只会下载和缓存中央仓库中的发布版本构件
- Releases:策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件
- Snapshots:策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件
- 3rd party:策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件
- Apache Snapshots:策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件
- Codehaus Snapshots:策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件
- Google Code:策略为Release的代理仓库,用来代理Google Code Maven仓库的发布版本构件
- java.net:策略为Release的代理仓库,用来代理jave net Maven仓库的发布版本构件
- Public Repositories:该仓库将上述所有策略为Release的仓库聚合合并通过一致的地址提供服务
- Public Snapshot Repositories:该仓库将上述所有策略为Snapshot的仓库聚合合并通过一致的地址提供服务
配置
download remote indexes 改为true
group组仓库 仓库的合集 按照配置的顺序找jar包
- proxy代理仓库1 ------url1 type为proxy
- proxy代理仓库2 ------url2
- hosted宿主仓库 mvn deploy会提交到hosted仓库中
- snapshot部署仓库
- release部署仓库
- 第三方jar包仓库 third party/3rd party
Virtual虚拟仓库,用于适配其他类型的仓库,比如maven要兼容maven1、maven2等
使用私服
想要使用私服时,需要在pom文件中配置
1 | <repositroies> |
或者在settings中配置
1 |
|
或者设置镜像
在settings.xml进行配置私服
1 | <mirriors> |
项目发布到私服
如果需要将项目发布到私服,需要在在pom文件中配置,发布工程时会用到,会发布到仓库
1 | <distributionManagement> |
在发布时会使用到用户名,密码
此时应该在settings.xml中配置server
1 | <servers> |
私服权限管理
先设置权限 privileges
再设置角色 roles
再设置用户 users