搭建Maven私服-Nexus

Maven 私服,可以代理远程仓库和部署自己或第三方构件。本文介绍使用最广泛搭建 Maven 私服的工具: Sonatype Nexus。

作者环境

本次搭建私服是在局域网的一台服务器上,操作系统为 CentOS 。
需要部署到私服的项目 soul
ssm 项目需要引用 soul

安装Java

确保服务器已经安装了 java 环境,这个过程不是本文重点,安装过程自行百度。

安装Nexus

官网 pro 版本的是需要付费的。所以我们使用免费的 OSS 版本,下载地址 (https://www.sonatype.com/download-oss-sonatype)

# 上传到服务器并解压
$ tar xvf nexus-3.5.1-02-unix.tar.gz

启动Nexus

# 启动服务
$ cd /nexus-3.5.1-02/bin/
$ ./nexus start

验证

打开网址:(http://192.168.0.86:8081/) , ip 为搭建私服的服务器 ip 。
用户名/密码: admin/admin123
出现一下画面,就说明安装成功了。
nexus

发布soul项目到私服

创建仓库

  1. 创建yelog-release仓库(名字自定义), type选择 : release
    ①.创建宿主仓库
    ②.选择hosted类型
    ③.创建release类型仓库
  2. 创建yelog-snapshot仓库(名字自定义), type选择 : snapshot
    重复上面 ① 和 ② 步,根据下图选择类型:
    创建snapshot类型仓库

两个都创建完成后,效果如下:
创建自定义release和snapshot仓库

pom中添加部署配置

url 复制上图中新建的仓库的 copy 按钮,复制url。

<distributionManagement>
    <repository>
        <id>yelog-release</id>
        <name>Release Repository of yelog</name>
        <url>http://192.168.0.86:8081/repository/yelog-release/</url>
    </repository>
    <snapshotRepository>
        <id>yelog-snapshot</id>
        <name>Snapshot Repository of yelog</name>
        <url>http://192.168.0.86:8081/repository/yelog-snapshot/</url>
    </snapshotRepository>
</distributionManagement>

在maven的 settings.xml 中配置

这里配置 maven 的账号密码,id 要与 distributionManagement 中的id一致。默认账号/密码:admin/admin123

<servers>
    <server>
      <id>yelog-realease</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>yelog-snapshot</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
</servers>

执行maven命令部署项目到私服上

我这里直接使用IDE的插件执行
部署项目到私服
部署完成后,可以在 yelog-snapshot 仓库中,查看部署的情况,如下图所示
查看部署情况

从私服拉去依赖库

上一步我们已经将项目 soul 部署到私服上了,这一步介绍项目 ssm 如何依赖引用 soul
私服中的 maven-central 可以链接远程仓库。这样,当有依赖在私服中找不到后,就可以通过远程仓库自动下载依赖。

pom 文件中添加如下配置

  1. public库成员仓库中添加我们自定义的仓库
    public库设置成员仓库
  2. 配置远程仓库为私服地址。
    <repositories>
     <repository>
         <id>public</id>
         <name>public Repository</name>
         <url>http://192.168.0.86:8081/repository/maven-public/</url>
         <releases>
             <enabled>true</enabled>
         </releases>
         <snapshots>
             <enabled>true</enabled>
         </snapshots>
     </repository>
    </repositories>
    <pluginRepositories>
     <pluginRepository>
         <id>public</id>
         <name>Public Repositories</name>
         <url>http://192.168.0.86:8081/repository/maven-public/</url>
     </pluginRepository>
    </pluginRepositories>
    
  3. 引入依赖
    <dependency>
     <groupId>org.soul</groupId>
     <artifactId>commons</artifactId>
     <version>1.0-SNAPSHOT</version>
    </dependency>
    
  4. ssm项目就可以引用到soul代码
    在代码中就可以直接引用到部署到私服的soul项目代码

本文结束。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏