【问题标题】:Eclipse-Maven Complex Project Dependency (ApacheJena)Eclipse-Maven 复杂项目依赖 (ApacheJena)
【发布时间】:2014-03-28 01:41:41
【问题描述】:

我对 Eclipse 和 Maven2 世界还很陌生。我正在努力理解如何以简单的方式在 Apache Jena 上添加 Maven 项目依赖项。具体来说,我想添加一个依赖项,例如

<dependency>
  <groupId>org.apache.jena</groupId>
  <artifactId>jena</artifactId>
  <version>${jena.version}</version>
</dependency>

这会自动拉入模块(例如jena-arqjena-core 等)。但是,添加此依赖项会导致 Missing artifact org.apache.jena:jena:jar:2.11.1 错误。如果我将&lt;type&gt;pom&lt;/type&gt; 添加到dependency,错误就消失了,但我的项目中没有得到jar。

无论如何,据我了解,POM 更适合项目 lib 存档依赖项。

我如何建立这样的关系?我考虑简单地复制 Jena 中每个模块的依赖关系,因为它无论如何都在使用属性。但是,有可能(Jena 就是一个典型的例子),不是项目中的所有模块都共享相同的版本。例如,jena-core 在 2.11.1 上,jena-tdb 在 1.0.1 上,但 jena-2.11.1 包含 jena-tdb

谢谢

【问题讨论】:

    标签: java eclipse maven jena


    【解决方案1】:

    详情请见http://jena.apache.org/download/maven.html

    简而言之:

      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>apache-jena-libs</artifactId>
        <type>pom</type>
        <version>2.11.1</version> <!-- Set version -->
      </dependency>
    

    注意它是 pom 类型。

    【讨论】:

    • 感谢@Andys,这至少可以处理耶拿工件。我也将使用 HBase 和 Hadoop。不幸的是,我还没有找到一个可比较的包,但是我找到了一些建议,即简单地引用这些包的最“连接”也就是“客户端”库,以隐式地拉下额外的依赖项。
    【解决方案2】:

    没有一个简单的方法可以做到这一点。 您必须使用特殊版本定义每个依赖项 jar。

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 2018-10-28
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 2013-02-13
      • 2016-09-20
      相关资源
      最近更新 更多