现在的问题是将常春藤文件POM文件调用到JSON库:
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
现在..我设法找到一个找到JAR文件的模式,向它添加-jdk13 ..但这样就不再找到POM文件了。
之后,没有下载的JAR文件,当然由于缺少dep而导致构建失败。
那么......我能以某种方式将POM配置为JAR文件名吗?
谢谢!
答案 0 :(得分:6)
它在Maven中称为分类器属性。尝试按如下方式声明您的依赖关系:
<ivy-module version='2.0' xmlns:m="http://ant.apache.org/ivy/maven">
..
<dependencies>
..
<dependency org="net.sf.json-lib" name="json-lib" rev="2.4">
<artifact name="json-lib" type="jar" m:classifier="jdk13"/>
</dependency>
..
</dependencies>
</ivy-module>
这将从Maven模块中检索关联的工件而不是默认的主工件。
此常春藤依赖声明在功能上与Maven中的以下内容相同
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk13</classifier>
</dependency>