首页 文章

常 Spring 藤 - 可以't download because POM file and the JAR file name aren'匹配模式

提问于
浏览
2

我再次与IVY .

现在的问题是调用常 Spring 藤文件到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

现在..我设法放置一个模式,在其中找到JAR文件,将-jdk13添加到它..但这样就不再找到POM文件了 .

之后,没有下载的JAR文件,当然由于缺少dep而导致构建失败 .

所以...我可以以某种方式将POM配置为JAR文件名的其他内容吗?

谢谢!!

1 回答

  • 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模块中检索关联的工件而不是默认的主要工件 .

    更新

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

    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4</version>
      <classifier>jdk13</classifier>
    </dependency>
    

相关问题