温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Maven实战之如何搭建Maven私服和镜像

发布时间:2021-06-21 14:16:41 来源:亿速云 阅读:162 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关Maven实战之如何搭建Maven私服和镜像,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

准备工作

安装3.6.*的Nexus

理论

Nexus的仓库类型

  1. hosted(宿主):宿主仓库主要用于存放项目部署的构件、或者第三方构件用于提供下载。

  2. proxy(代理):代理仓库就是对远程仓库的一种代理,从远程仓库下载构件和插件然后缓存在Nexus仓库中

  3. group(仓库组):仓库的一种组合策略,并不存在实在意义的依赖,只是作为一种中转站的作用存在。

Maven实战之如何搭建Maven私服和镜像

Nexus内置仓库类型

  1. maven-central:代理中央仓库、策略为Release、只会下载和缓存中央仓库中的发布版本构件。

  2. maven-releases:策略为Release的宿主仓库、用来部署组织内部的发布版本内容。

  3. maven-snapshots:策略为Snapshot的宿主仓库、用来部署组织内部的快照版本内容。

  4. maven-public:该仓库将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。

  5. nuget-hosted:用来部署nuget构件的宿主仓库

  6. nuget.org-proxy:代理nuget远程仓库,下载和缓冲nuget构件。

  7. nuget-group:该仓库组将nuget-hosted与nuget.org-proxy仓库聚合并通过一致的地址提供服务。

  8. maven-public:该仓库组将maven-central,maven-releases与maven-snapshots仓库聚合并通过一致的地址提供服务。

如下图

Maven实战之如何搭建Maven私服和镜像

搭建私服流程

  1. 打开Nexus地址,账号密码默认【admin】【admin123】

  2. 点击【Create repository】,选择【maven2(hosted)】类型,如下图填写相关信息

Maven实战之如何搭建Maven私服和镜像

Maven实战之如何搭建Maven私服和镜像

按步骤二构建一个【testSnapshot】仓库

构建一个maven项目,在POM文件里面,配置以下信息:

<distributionManagement>     <repository>       <id>releases</id>       <url>http://192.168.0.1:8888/repository/testRelease/</url>     </repository>     <snapshotRepository>       <id>Snapshots</id>       <url>http://192.168.0.1:8888/repository/testSnapshot/</url>     </snapshotRepository>     <!-- 这边url就是仓库的路径 -->   </distributionManagement>   <build>     <plugins>       <!-- 打jar包插件 -->       <plugin>         <groupId>org.apache.maven.plugins</groupId>         <artifactId>maven-jar-plugin</artifactId>         <version>3.0.2</version>         <configuration>           <excludes>             <exclude>**/*.properties</exclude>           </excludes>         </configuration>       </plugin>       <!-- 打包源码插件 -->       <plugin>         <groupId>org.apache.maven.plugins</groupId>         <artifactId>maven-source-plugin</artifactId>         <version>3.0.1</version>         <configuration>           <attach>true</attach>         </configuration>         <executions>           <execution>             <phase>compile</phase>             <goals>               <goal>jar</goal>             </goals>           </execution>         </executions>       </plugin>     </plugins>   </build>

配置在maven的setting文件,仓库用户账号密码

<servers>   <server>     <id>release</id>     <username>user</username>     <password>123456</password>   </server>   <server>     <id>Snapshots</id>     <username>user</username>     <password>123456</password>   </server> </servers> //这边id需保持和上面仓库id一致

输入mvn命令打包上传

mvn clean source:jar package mvn deploy -e

查看Nexus的【Components】,如下便是成功

Maven实战之如何搭建Maven私服和镜像

引用如下,在引用项目的pom.xml中配置如下

<!-- nexus私服配置 --> <repositories>   <repository>     <id>nexus</id>     <name>Nexus Repository</name>     <url>http://192.168.2.20:8081/repository/java/</url>     <releases>       <enabled>true</enabled>     </releases>     <!--snapshots默认是关闭的,需要开启 -->     <snapshots>       <enabled>true</enabled>     </snapshots>   </repository> </repositories> <dependencies>   <dependency>     <groupId>com.example</groupId>     <artifactId>utils</artifactId>     <version>1.0</version>   </dependency> </dependencies>

搭建镜像流程

  1. 现在就是结合仓库组,来处理各种请求从代理仓库或者宿主仓库获取实际构件内容。

  2. 创建【仓库组】testGroup和【代理仓库】testProxy

  3. 在【仓库组】的members添加【代理仓库】testProxy【宿主仓库】testRelease和testSnapshot。引用的顺序会决定仓库组遍历仓库的顺序。

Maven实战之如何搭建Maven私服和镜像

在Maven的setting配置如下

<mirrors>    <mirror>     <id>mirror</id>     <mirrorOf>*</mirrorOf>     <name>Nexus aliyun</name>     <url>http://116.62.220.224:8888/repository/testGroup/</url>   </mirror>  </mirrors>  <servers>   <server>     <id>mirror</id>     <username>user</username>     <password>123456</password>   </server>  </servers>

这样所有maven项目都会从这个镜像引用依赖

关于“Maven实战之如何搭建Maven私服和镜像”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI