我的构建运行良好,直到我添加以下行到我的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仓库中找到这个依赖项。当不使用Ivy时,我能够成功地用这个jar编译我的项目:
com.springsource.javax.persistence-2.0.0.jar
但是,我在Maven的repo中也找不到对它的引用。
我错过了什么或做错了什么?刚开始使用Ivy,所以任何和所有的帮助都是感激的。
默认情况下,ivy将拉下所有依赖项。很可能这是一个可选的Maven依赖项,在Maven Central中不存在。
你需要做的是为每个依赖项设置一个ivy配置映射,如下所示:
<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->default"意味着从远程模块中拉下默认依赖项(这将排除可选项),并将它们放入本地编译配置中。
有关ivy如何转换远程Maven模块的更多信息,请参见:
- maven作用域如何被ivy 映射到ivy配置