我公司私服现地址为:192.168.19.85:8765/repository/maven-public/
Maven 配置使用私服(下载依赖)
基本说明
-
Maven 配置私服下载有两种方式:
setting.xml:该文件配置的是全局模式 pom.xml:该文件的配置的是项目独享模式
注意:若 pom.xml 和 setting.xml 同时配置,以 pom.xml 为准。
-
当我们在 maven 使用 maven-public 仓库地址的时候,会按照如下顺序访问:
本地仓库 --> 私服 maven-releases --> 私服 maven-snapshots --> 远程阿里云 maven 仓库 --> 远程中央仓库。
通过 setting.xml 文件配置
配置后不需要再配置 pom.xml 文件,即可通过私服下载 jar 依赖包。
- setting.xml 文件配置样例如下。
<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
<id>maven-public</id>
<!--镜像名称 -->
<name>maven-public</name>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>*</mirrorOf>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
<url>http://192.168.19.85:8762/repository/maven-public/</url>
</mirror>
</mirrors>
- 如果我们并没有搭建私服,属于个人开发,那么也可以直接配置使用阿里 云maven 仓库:
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
通过 pom.xml 文件配置
如果我们配置了 pom.xml,则以 pom.xml 为准。
- pom.xml 文件配置样例如下。
<repositories>
<repository>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://192.168.19.85:8765/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
- 如果没有私服,我们同样也可以配置阿里云 maven 仓库:
<repositories>
<repository>
<id>maven-aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
Maven 配置使用私服(下载插件)
- 下面是使用 pom.xml 配置样例:
<pluginRepositories>
<pluginRepository>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://10.172.0.201:8081/nexus/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Maven 配置使用私服(发布依赖)
- 首先修改 setting.xml 文件,指定
releases server
和snapshots server
的用户名和密码:
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
- 接着在项目的 pom.xml 文件中加入
distributionManagement
节点:
repository 里的 id 需要和上一步里的 server id 名称保持一致。如果是多模块项目,只在父
pom
中添加该配置即可
<distributionManagement>
<repository>
<id>releases</id>
<name>Releases</name>
<url>http://192.168.60.133:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://192.168.60.133:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
- 如果要跳过某一个模块不上传,在对应模块的
pom文件
中添加下边插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
-
执行
mvn deploy
命令发布: -
在仓库查看发布的服务