Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Ivy或Maven中指定net.sf.json lib#json lib#2.3? 我正在使用IVY将我们的构建系统从Ant转换成Ant,并且遇到了一个指定我们需要的特定JAR的问题。 groupId:net.sf.json-lib artifactId:json库 版本:2.3_Java_Maven_Pom.xml_Ivy - Fatal编程技术网

Java 如何在Ivy或Maven中指定net.sf.json lib#json lib#2.3? 我正在使用IVY将我们的构建系统从Ant转换成Ant,并且遇到了一个指定我们需要的特定JAR的问题。 groupId:net.sf.json-lib artifactId:json库 版本:2.3

Java 如何在Ivy或Maven中指定net.sf.json lib#json lib#2.3? 我正在使用IVY将我们的构建系统从Ant转换成Ant,并且遇到了一个指定我们需要的特定JAR的问题。 groupId:net.sf.json-lib artifactId:json库 版本:2.3,java,maven,pom.xml,ivy,Java,Maven,Pom.xml,Ivy,我在常春藤中指定为: <dependency org="net.sf.json-lib" artifact="json-lib" rev="2.3" conf="compile->default"/> 注意,Ivy试图从存储库下载文件json-lib-2.3.jar 我在上进行了搜索,发现该工件不是名为json-lib-2.3.jar,而是名为json-lib-2.3-jdk-13.jar或json-lib-2.3-jdk-15.jar 问题在于指定工件名称

我在常春藤中指定为:

<dependency org="net.sf.json-lib"  artifact="json-lib"
    rev="2.3"     conf="compile->default"/>
注意,Ivy试图从存储库下载文件
json-lib-2.3.jar

我在上进行了搜索,发现该工件不是名为
json-lib-2.3.jar
,而是名为
json-lib-2.3-jdk-13.jar
json-lib-2.3-jdk-15.jar

问题在于指定工件名称的方式。版本号出现在jar名称的中间。如果工件是“json-lib-jdk-15-2.4.jar”,我可以这样做:

<dependency org="net.sf.json-lib"  artifact="json-lib"
    rev="2.3"     conf="compile->default">
    <artifact name="json-lib-jdk-15"/>
</dependency>

如何指定此jar进行下载

jar名称末尾的“thing”称为分类器。它用于针对特定平台或提供源代码或Javadoc

要获取jar,需要如下定义分类器:

<ivy-module version='2.0' xmlns:m="http://ant.apache.org/ivy/maven">
...
<dependency org="net.sf.json-lib" artifact="json-lib" rev="2.3"conf="compile->default">
    <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
</dependency>

...

更多信息。

我刚刚发现以前有人问过这个问题:现在我得到了与元素类型“dependency”关联的属性“m:classifier”的前缀“m”。我打赌我必须先咀嚼我的ivysettings.xml。谢谢。你的答案确实有用。
<ivy-module version='2.0' xmlns:m="http://ant.apache.org/ivy/maven">
...
<dependency org="net.sf.json-lib" artifact="json-lib" rev="2.3"conf="compile->default">
    <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
</dependency>