maven 私有源编译cloudstack错误解决

  错误1 如下:

[ERROR] Failed to execute goal on project cloud-plugin-network-contrail: Could
not resolve dependencies for project
org.apache.cloudstack:cloud-plugin-network-contrail:jar:4.4.4: Could not find
artifact net.juniper.contrail:juniper-contrail-api:jar:1.0-SNAPSHOT in
nexus-releases (http://nexus:8081/nexus/content/groups/public) -> [Help 1]


 从错误的字面意思为 从 http://xxx/nexus/content/groups/public  找不到net.juniper.contrail:juniper-contrail-api等jar包 导致了这个错误

解决方法:

配置setting.xml  把url改为你自己的

<?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">
  <mirrors>
    <mirror>
      <id>nexus-releases</id>
      <url>http://nexus:8081/nexus/content/groups/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  <mirror>
      <id>nexus-snapshots</id>
      <mirrorOf>central</mirrorOf>
      <url>http://nexus:8081/nexus/content/groups/public-snapshots</url>
    </mirror>  
  </mirrors>
</settings>

原因

项目中的pom.xml 定义的有外部的源 所以只需将setting.xml 源的mirrorOf配置为替换central即可。

如下可以看出 很多pom.xml 中定义了其他源

find . -name pom.xml |xargs grep "repositories"
./plugins/hypervisors/kvm/pom.xml:  <repositories>
./plugins/hypervisors/kvm/pom.xml:  </repositories>
./plugins/network-elements/juniper-contrail/pom.xml:  <repositories>
./plugins/network-elements/juniper-contrail/pom.xml:  </repositories>
./plugins/network-elements/midonet/pom.xml:<repositories>
./plugins/network-elements/midonet/pom.xml:</repositories>



  错误2 如下

[ERROR] Failed to execute goal on project cloud-plugin-network-contrail: Could not resolve dependencies for project org.apache.cloudstack:cloud-plugin-network-contrail:jar:4.4.4: Failure to find net.juniper.contrail:juniper-contrail-api:jar:1.0-SNAPSHOT in http://nexus:8081/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of nexus-releases has elapsed or updates are forced -> [Help 1]

这个是因为本地cache导致

解决办法:

执行mvn 命令后加个 -U 

解释如下

-U,--update-snapshots                  Forces a check for updated
                                        releases and snapshots on remote
                                        repositories



参考:

 https://maven.apache.org/pom.html#The_Super_POM

http://maven.apache.org/settings.html#Mirrors


转载于:https://my.oschina.net/firxiao/blog/485171

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值