我有一个使用常春藤进行依赖管理的ant的项目构建.我没有ivysetting文件,但是ivy.xml具有以下依赖项(我想使用spring与slf4j而不是commons日志记录):
<configurations>
<conf name="compile" />
<conf name="runtime" extends="compile"/>
</configurations>
<dependencies>
<dependency org="org.springframework" name="spring-webmvc" rev="3.0.5.RELEASE" conf="compile->default">
<exclude org="commons-logging" name="commons-logging"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="compile->default" />
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime->default" />
</dependencies>
Run Code Online (Sandbox Code Playgroud)
但是在解析编译配置时,commons-logging就解决了.我还尝试在显式spring-core依赖项上使用exclude,但commons-logging总是放在编译类路径中.
我的错是什么?是不是不使用Commons Logging描述的maven?这是常春藤虫吗?需要我特别的设置吗?常春藤有什么缓存吗?任何的想法?
我使用ant 1.8.2和ivy 2.2.0,在Eclipse中使用IvyDE也有同样的问题.
我再次与IVY.
现在的问题是调用常春藤文件到JSON库的POM文件:
http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/json-lib-2.4.pom
JSON-LIB-2.4.pom
但是调用了JAR文件:
JSON-LIB-2.4-jdk13.jar
-jdk13使得无法找到pom文件.
因此它无法下载JAR文件,因为它说:
== resolving dependencies egencia#com.egencia.test.framework;working@ESFVMVI-750->net.sf.json-lib#json-lib;2.4 [default->compile]
[ivy:resolve] tried http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk13.jar
[ivy:resolve] maven: no ivy file found for net.sf.json-lib#json-lib;2.4: using default data
[ivy:resolve] found net.sf.json-lib#json-lib;2.4 in maven
Run Code Online (Sandbox Code Playgroud)
现在..我设法放置一个模式,在其中找到JAR文件,将-jdk13添加到它..但这样就不再找到POM文件了.
之后,没有下载的JAR文件,当然由于缺少dep而导致构建失败.
所以...我可以以某种方式将POM配置为JAR文件名的其他内容吗?
谢谢!!