【问题标题】:Cannot resolve dependency using ivy无法使用 ivy 解决依赖关系
【发布时间】:2016-01-06 03:29:10
【问题描述】:

我遇到了 ivy 无法解决我的一些依赖项的问题。这是我复制问题的方式:

我在 Eclipse 中有一个空的 java 项目。我已将 ivy.xml 添加到我的项目中:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info
        organisation=""
        module=""
        status="integration">
    </info>
    <dependencies >
        <dependency org="org.drools" name="drools-core" rev="5.5.0.Final"/>
    </dependencies>
</ivy-module>

这很好用,ivy 能够解析和下载 drools。

如果我将修订版更改为 6.3.0.Final (http://mvnrepository.com/artifact/org.drools/drools-core/6.3.0.Final) 它不起作用,我看到一个错误:

未解决的依赖关系:org.drools#drools-core;6.3.0.Final:未找到

我可以看到这两个版本之间的唯一区别是 6.3.0 是捆绑包。 在 Eclipse 中,当我转到 Ivy 的属性 -> 类路径 -> 我检查了 Read OSGI metadata & Accepted types = jar,bundle,ejb,maven-plugin

我也搜索了一下,发现了这个(这可能与这个问题完全无关): http://mail-archives.apache.org/mod_mbox/ant-dev/201501.mbox/%3CCAC_RtEZx=bqk+N3MrtH-Y-zCqDfm5=eA3rYOa7hLLYC_u82S9g@mail.gmail.com%3E

【问题讨论】:

    标签: maven drools dependency-management ivy drools-guvnor


    【解决方案1】:

    似乎是一个 Maven 存储库问题。看起来其中一个父 POM 文件中缺少依赖项。

    常春藤分辨率打印以下警告消息:

    [ivy:resolve] :::: WARNINGS
    [ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/kie/kie-platform-bom/6.3.0.Final/kie-platform-bom-6.3.0.Final.pom (java.io.IOException: Impossible to import module for file:/home/mark/.ivy2/cache/org.kie/kie-platform-bom/ivy-6.3.0.Final.xml.original. Import=org.jboss.dashboard-builder#dashboard-builder-bom;6.3.0.Final)
    [ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/kie/kie-parent-with-dependencies/6.3.0.Final/kie-parent-with-dependencies-6.3.0.Final.pom (java.io.IOException: Impossible to import module for file:/home/mark/.ivy2/cache/org.kie/kie-parent-with-dependencies/ivy-6.3.0.Final.xml.original. Import=org.kie#kie-platform-bom;6.3.0.Final)
    [ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/drools/drools/6.3.0.Final/drools-6.3.0.Final.pom (java.io.IOException: Impossible to load parent for file:/home/mark/.ivy2/cache/org.drools/drools/ivy-6.3.0.Final.xml.original. Parent=org.kie#kie-parent-with-dependencies;6.3.0.Final)
    [ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/drools/drools-core/6.3.0.Final/drools-core-6.3.0.Final.pom (java.io.IOException: Impossible to load parent for file:/home/mark/.ivy2/cache/org.drools/drools-core/ivy-6.3.0.Final.xml.original. Parent=org.drools#drools;6.3.0.Final)
    [ivy:resolve]       module not found: org.drools#drools-core;6.3.0.Final
    

    以下父模块:

    有一个POM file dependency

    <dependency>
      <groupId>org.jboss.dashboard-builder</groupId>
      <artifactId>dashboard-builder-bom</artifactId>
      <type>pom</type>
      <version>${version.org.jbpm.dashboard-builder}</version>
      <scope>import</scope>
    </dependency>
    

    那个does not seem to exist in Maven Central

    【讨论】:

      【解决方案2】:

      不确定 Ivy 是如何工作的,但如果您可以在那里添加其他存储库,添加 https://repository.jboss.org 应该可以解决问题。这应该可以解决 Mark 已经指出的不存在的 org.jboss.dashboard-builder 问题。

      在使用 Gradle 进行依赖管理时,以下帮助解决了同样的问题。

      repositories {
          maven {
              url "https://repository.jboss.org"
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2012-12-24
        • 2019-11-04
        • 2012-04-08
        • 2016-10-11
        • 2012-07-07
        • 2011-12-11
        • 2011-01-24
        • 2016-02-16
        • 2017-02-20
        相关资源
        最近更新 更多