maven配置nexus私服仓库注意事项

前言

网上有关于如何配置maven跟nexus已经有很多文章了,但是有些容易踩坑的点没有介绍清楚,本次在配置过程中,遇到一些坑,作为心得跟大家分享一下:

1、关于mirrorOf节点的补充说明

maven的settings.xml文件里面的mirrorOf节点,他是用来跟pom文件里面的仓库id或者setting.xml文件里面<profiles>里面的<profile>下面的仓库id保持一致,意思就是给这个id的仓库配置一个镜像仓库(意思就是代理,帮你加速)。网上很多案例,配置的都是<mirrorOf>central</mirrorOf>

为什么是central,不管你的有没有配置过仓库id,在maven项目默认的配置中会带一个central仓库,在你的项目的pom文件里面是看不到的,我们可以在pom文件上右击,如下图:

可以发现项目默认会生效一个central仓库,所以在配置镜像仓库的时候,可以配置<mirrorOf>central</mirrorOf>,示例如下:

   <mirror>
           <id>alimaven-central</id>
           <!--这里一定要注意的是mirrorOf要与pom文件中的id属性对应,pom文件里普通仓库和插件仓库的id都为central-->
           <mirrorOf>central</mirrorOf>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>

2、settings.xml文件修改不生效问题

为什么在idea里面配置了settings.xml文件,然后修改后感觉不生效,而且有些没配过的属性。这个是因为maven的setting.xml是加载多个文件取并集,

a、优先从 ${user}.m2(你本地存jar包的仓库) 目录下读取 setting.xml。

b、当 ${user}.m2 目录下不存在 setting.xml 时,从 ${M2_HOME}\conf(maven的home目录) 目录下读取

c、IDEA 中即使指定了 setting.xml 文件,在 IDEA terminal 窗口运行 mvn 命令时,配置文件 setting.xml 仍然按照规则 a、b 来读取。

这样就会给我们产生一个误区,我明明已经修改了${user}.m2下面的setting文件,为什么感觉没生效,那可能是maven的home目录的文件里面也有这个属性配置,导致最后老的属性还在,同时多了一个新的属性

3、在idea上查看maven生效的配置文件

可以通过一下命令mvn help:effective-settings,截图如下:

4、关于nexus2跟nexus3

个人感觉,各有优缺点,感觉nexus3的页面好看一点,然后交互相对友好一些。但是nexus3可以通过界面上传快照SNAPSHOT包,而nexus2好像只能通过命令上传快照包,这个网上有介绍。nexus3如果要需要在页面上上传快照包,对于仓库的类型需要设置为mixed混合模式。

5、手动传包到nexus报错

mvn deploy:deploy-file -D groupId=com.shsnc -D artifactId=cmdb-server-openapi -D version=2.14.0-SNAPSHOT -D packaging=jar -D file=/Users/user/.m2/repository/com/xxxx/2.14.0-SNAPSHOT/xxx-server-openapi-2.14.0-SNAPSHOT.jar -D repositoryId=Snapshots -D url="http://127.0.0.1:8081/nexus/content/repositories/snapshots/" -D generatePom=true -D uniqueVersion=false

在执行该命令时,由于电脑自身的安全问题,可能会由于包路径的权限问题而报错,建议把需要上传到挪到其他位置,比如桌面.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值