常春藤 - 无法下载,因为POM文件和JAR文件名不匹配模式

Han*_*bal 2 ivy

我再次与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文件名的其他内容吗?

谢谢!!

Mar*_*nor 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>
Run Code Online (Sandbox Code Playgroud)

这将从Maven模块中检索关联的工件而不是默认的主要工件.

更新

此常春藤依赖声明在功能上与Maven中的以下内容相同

<dependency>
  <groupId>net.sf.json-lib</groupId>
  <artifactId>json-lib</artifactId>
  <version>2.4</version>
  <classifier>jdk13</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)