maven的私服 deploy搭建

在公司开发时,自己开发出来的 jar 包不会放在大家都能访问的中央仓库上,公司内部都会搭建自己的私服,私服的搭建【不是重点】,我们主要学习如何将开发好的 jar 包 deploy(通俗的说法就是上传)到私服上

私服采用了 nexus 公司提供的免费软件来搭建,下载地址为:https://www.sonatype.com/nexus/repository-oss-download

搭建步骤

如果自己尝试搭建,建议选择 2.x 这个旧的版本,因为更小、更简单

以 2.x 为例,下载完毕后 第一步,解压缩,会得到下面两个文件夹和如下重要目录结构

nexus-2.14.20-02
    |-bin
        |-jsw
            |-windows-x86-64
                |-console-nexus.bat   以黑窗口方式运行
                |-install-nexus.bat   安装nexus为windows服务
                |-start-nexus.bat     启动nexus的windows服务
                |-stop-nexus.bat      停止nexus的windows服务
                |-uninstall-nexus.bat 卸载nexus的windows服务
            |-conf
                |-wrapper.conf
sonatype-work

第二步(可选),如果 java 的环境变量配置的不是 1.8 版本,修改上图中 wrapper.conf,将

wrapper.java.command=java

修改为

wrapper.java.command=C:\Program Files\Java\jdk1.8.0_212\bin\java

其中 C:\Program Files\Java\jdk1.8.0_212\bin 根据你 jdk 安装的实际情况改动

第三步,如果 java 的环境变量配置的是 1.8 版本,直接运行 console-nexus.bat 即可,想停止服务,按 Ctrl+C 或者直接关闭黑窗口即可

不建议装为 windows 服务,这个软件将来也应该运行在公司内网服务器上,而不是你的个人电脑上

第四步,打开浏览器

http://localhost:8081/nexus

点击右上角的 Log In 链接,输入用户名 admin 和密码 admin123

先认识一下管理界面

我们要做的就是记录正式版(Releases)和快照版(Snapshots)的仓库地址,以后我们自己开发打包的 jar 就会向这两个地址去上传,同时也可以供其它公司同事下载

deploy 步骤

第一步,配置仓库地址,用于 deploy 上传

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    ...
​
    <distributionManagement>
        <repository>
            <id>releases</id>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    
    ...
    
</project>
  • releases 对应正式版的仓库

  • snapshots 对应快照版的仓库

第二步,因为上传 jar 需要认证,还要在 settings.xml 中配置认证信息

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
​
  ...
    
  <servers>
    <server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
​
  ...
    
</settings>

其中 <server> 的 id 标签值要与 <repository> 以及 <snapshotRepository> 的 id 标签值一致,用户名密码这里为了简单就采用了私服管理员的,以后公司会分配个人账号和密码

第三步,运行 mvn deploy 命令,即可将对应模块的 jar 上传至私服,注意我们的 jar 的 version 是 snapshot 结尾的,最后会上传至 snapshots 对应的库

第四步,其它开发人员如果要从私服下载 jar 包,按普通方式配置仓库即可

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    ...
​
    <repositories>
        <!-- 其它第三方的仓库 -->
        
        <!-- 本公司的私服仓库地址 -->
        <repository>
            <id>releases</id>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>snapshots</id>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>
    
    ...
    
</project>

还可以简化配置一个仓库 http://localhost:8081/nexus/content/groups/public/ 它对应的仓库称为仓库组,相当于私服中多个仓库的统一入口,但仅能用于下载

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值