使用Spring Data JPA时常春藤未解决的依赖关系 - org.eclipse.persistence

时间:2013-02-28 15:18:45

标签: spring maven ant ivy spring-data-jpa

我的构建运行正常,直到我将以下行添加到我的ivy.xml文件中:

<dependency org="org.springframework.data" name="spring-data-jpa" rev="1.1.0.RELEASE"/>

然后我收到以下错误:

::::::::::::::::::::::::::::::::::::::::::::::
::          UNRESOLVED DEPENDENCIES         ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.eclipse.persistence#org.eclipse.persistence.jpa;2.3.2: not found
:::::::::::::::::::::::::::::::::::::::::::::: 

我似乎无法在Maven回购中找到这种依赖。当不使用常春藤时,我能够用这个jar成功编译我的项目:

com.springsource.javax.persistence-2.0.0.jar

但是,我无法在Maven回购中找到对那个的引用。

我错过了什么或做错了什么?使用常春藤的新手,所以对任何和所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

默认情况下,ivy会删除所有依赖项。这很可能是Maven Central中不存在的可选Maven依赖项。

您需要做的是为每个依赖项设置常春藤配置映射,如下所示:

<configurations>
    <conf name="compile" description="Compile classpath"/>
    <conf name="runtime" description="Runtime classpath" extends="compile"/>
    <conf name="test" description="Test classpath" extends="runtime"/>
</configurations>

<dependencies>
    <!-- compile dependencies -->
    <dependency org="org.springframework.data" name="spring-data-jpa" rev="1.1.0.RELEASE" conf="compile->default"/>
</dependencies>

映射“compile-&gt; default”意味着从远程模块下拉默认依赖项(将不包括选项)并将它们放入本地编译配置中。

有关常春藤如何翻译远程Maven模块的更多信息,请参阅: