maven 私服
私服 就是私人的服务器 或者 公司的服务器,不是公共设施的服务器。目的是只对 私人 公司 使用,与其他 个人 公司的服务器隔离,独立
Nexus**
Nexus是Sonatype公司的一款maven私服产品
下载地址:https://help.sonatype.com/repomanager3/download
Nexus*安装、启动与配置**
下载后 Nexus 内有两个包
nexus -3.20.1-01 这个包用来 运行的 也就是他的服务器
sonatype-work 这个是用来存放数据的,也可以说是工作空间
在黑窗口 启动 nexus 命令
nexus /run nexus
然后用浏览器访问nexus
访问路径 是 http://localhost:8081
8081是 nexus的默认端口号
修改 nexus 端口号 在它 nexus-3.20.1-01里的etc 目录的 nexus-default.properties
修改基础配置信息
安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口
修改服务器运行配置信息
- 安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间
私服中的资源获取
仓库分类**
私服 的仓库分成3个种类
宿主仓库hosted
- 保存无法从中央仓库获取的资源
- 自主研发
- 第三方非开源项目
代理仓库proxy
- 代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库
仓库组group
- 将若干个仓库组成一个群组,简化配置
- 仓库组不能保存资源,属于设计型仓库
资源上传**
上传资源时提供对应的信息
-
保存的位置(宿主仓库)
-
资源文件
-
对应坐标
idea中 资源上转下载
用户名与密码 配置到本地仓库里
上传的地址 配置到项目里
下载的地址 配置到本地里
在 maven 的 setting 文件 配置 自己定义的私服
<!-- 配置访问服务器的权限,用户名密码 -->
<servers>
<server>
<!-- 一个server标签对应一个私服的id名称、用户名称、密码 -->
<server>
<id>heima-release</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>heima-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<!-- mirror标签 这是在配置私服的镜像 -->
<mirror>
<id>nexus-heima</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<!-- 这里的地址是自己的私服仓库访问的地址 在nexus里能找到的 -->
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>
在 maven中进行了 自己定义的私服才能通过 idea的maven 访问自己定义的私服仓库
定义 了多少个私服仓库就要在 maven的setting文件里配置多少个
配置本地仓库访问私服的权限(setting.xml)
<servers>
<server>
<id>heima-release</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>heima-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
配置本地仓库资源来源(setting.xml)
这配置一个 私服的资源路径就可以了,但连接中央仓库的资源路径也一起配置
<mirrors>
<mirror>
<id>nexus-heima</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>
在 idea maven 工程项目中 将项目发布到私服的,pom 配置坐标
配置当前项目访问私服上传资源的保存位置(pom.xml)
<distributionManagement>
<repository>
这里的id是私服仓库的名称
url是在nexus 中的访问路径
id名称跟在maven的setting的配置都要一致
<id>heima-release</id>
<url>http://localhost:8081/repository/heima-release/</url>
</repository>
<snapshotRepository>
<id>heima-snapshots</id>
<url>http://localhost:8081/repository/heima-snapshots/</url>
</snapshotRepository>
</distributionManagement>
发布后 会先通过http://localhost:8081/repository/heima-release/ 这个访问地址 找到对应的 私服仓库,在通过 id>heima-release 找到 在maven的setting的私服配置 对应的 ID名称 与 密码
至于 snapshotRepository 是按快照部署的意思,因为有可能发布项目的位置不同,所以要用 快照部署
接下来就可以发布项目到私服里
双击 **maven 周期 的 deploy** 就是部署的意思
发布资源到私服命令
mvn deploy