nexus教程(二)

3. 界面元素介绍

我们首先登陆管理员界面, 然后点击"设置", 然后点击"Repository", 在点击Repositories, 我们就可以看到如图所示的页面信息

其实nexus预设了几个仓库给我们

  1. 我们先来看maven-public, 类型为group, 这个简单理解为仓库的集合, 其他的仓库就是可以加入到这个集合中的.我们点击进去编辑,可以看到, URL: http://ip:8081/repository/maven-public/, 我们终端用户在配置上, 只需要配置上面这个url, 而不用单独配置多个仓库, 用户也不需要知道某个jar包具体来源于maven中央仓库, 或者是Apache Snapshots, 或者是我们自己添加的其他仓库.

这样的好处在于, 如果我们要新增某个仓库(如开源中国, 阿里云), 客户端不需要做任何更改, 只需要在nexus上将要新增的仓库加入到对外提供服务的仓库group中就可以.

  1. 下面我们来看maven-releases, maven-snapshots, 这个两个都是hosted类型, 意思是由nexus本机管理的仓库.

  2. maven-central是类型为proxy的仓库, 意思为远端仓库代理, 我们查看他的配置信息, 我们可以看到, proxy的url地址为: https://repo1.maven.org/maven2/

而这个就是我们proxy的远程配置信息

  1. 好了, 那我们这几个maven的配置都熟悉完了, 怎么让hosted和proxy的都属于group组的呢? 我们重新打开maven-public的设置页面, 我们看到最后

我们看到, 我们在这个group中, 是可以看到hosted和proxy的所有设置的, 我们只需要把我们需要的设置添加到左边的选择框中, 我们就可以选择我们所需要的类型就可以了

4. 配置阿里云远程仓库

我们配置一下maven仓库, 增加阿里云仓库代理地址

阿里云的仓库地址为: http://maven.aliyun.com/nexus/content/groups/public/, 我们新建一个maven类型的仓库地址, 注意, nexus可以提供多用类型的使用, 我们只需要找符合我们需求的就可以了, 如下

我们选择maven2(proxy), 然后填入阿里云相关的信息, 就ok了

最后, maven-pulic会自动把我们新建的仓库添加到自己的group中, 如图

4. 配置下载setting.xml文件

我们客户端在使用maven的时候, maven的配置文件中有一个文件叫setting.xml, 如下图所示:

1. 添加maven仓库镜像

我们需要在我们的setting.xml文件中, 设置我们nexus的仓库地址:

<mirrors>
    <mirror>
      <id>nexus-myself</id>
      <!--*指的是访问任何仓库都使用我们的私服-->
      <mirrorOf>*</mirrorOf>
      <name>Nexus myself</name>
      <url>http://192.168.124.29:8081/repository/maven-public/</url>
    </mirror>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/mvn/view</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
 </mirrors>

当然, 我们的maven配置也是可以支持你设置多个仓库地址的,

你只需要配置我们nexus的地址, 即:maven-public的url在其中, 其实就可以了.

2. 配置全局下载依赖(pom中无需在配置)

在maven的setting.xml文件中配置私服配置, 这种方式配置后所有本地使用改配置的maven项目的pom文件都无需配置私服下载相关配置

<profiles>
  <profile>
     <id>mycof</id>
        <repositories>
        <!-- 私有库地址-->
          <repository>
          <id>nexus</id>
          <url>http://192.168.124.29:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--插件库地址-->
        <pluginRepository>
          <id>nexus</id>
          <url>http://192.168.124.29:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

激活使用上面的配置:

<!--激活profile-->
<activeProfiles>
  <activeProfile>mycof</activeProfile>
</activeProfiles>

3. 单独项目下载依赖(即项目pom文件中配置)

这种配置是修改单个项目的pom文件,无需修改maven的setting配置

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://192.168.124.29:8081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

建议使用全局的setting配置,一个项目组共用一个maven的setting配置,项目中就无需配置下载相关的私服仓库配置

5. 上传jar包

对于中央仓库没有的jar包, 需要我们自己将jar包发布到私服中去, 其中jar包主要分为两类, 一类是本地自己开发供给项目组其余同事使用, 这种直接配置项目的pom文件和maven的setting文件, 之后deploy发布即可发布到;

另一类是第三方jar包, 可以直接使用web页面上传并设置对应GAV即可;

1. 本地maven开发的项目上传配置

1. maven的setting文件配置

这里要配置上传用户及仓库信息, 这里我们使用一个用户, 在nexus2.x中还设置了一个deployment/deployment123用户, 在3.x改用户删除了, 你也可以自己配置角色和用户,

<servers>
    <server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
    <server>  
        <id>maven-snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>
  </servers>

2. 项目中的pom文件配置

<distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.124.29:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.124.29:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

3. 执行maven的deploy命令

这是myeclipse中上传本地项目jar到私服,IDEA中更为简单直接点击maven周期中的deploy即可

然后到对应的仓库中查看

注意:

  1. 这里只有Snapshot的仓库上传成功,Release仓库并没有上传成功,这是因为版本号名称结尾有SNAPSHOT,默认以这个结尾是不会上传到Release仓库去的,去除就会上传到Release仓库且不会上传到快照仓库

  2. Release仓库默认不支持重复发布

  3. 注意setting中server标签下的id要和pom文件中仓库配置的id相同,即指定上传到哪个仓库

2. 第三jar包上传

对于第三方jar包的上传采用nenus提供的web界面上传,上传成功后需要使用该jar包的话,依赖中填写自定义的GAV即可

如果你觉得我写的不错, 就点个赞吧.欢迎跟我多交流,本人公众号stormling

据说大家都在点"在看", 动动你的小手点一下吧! 感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值