Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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无法解决依赖关系:检查什么,做什么?_Java_Ant_Ivy - Fatal编程技术网

Java Ivy无法解决依赖关系:检查什么,做什么?

Java Ivy无法解决依赖关系:检查什么,做什么?,java,ant,ivy,Java,Ant,Ivy,我正在用常春藤来解决我非常小的项目中的依赖关系。这是我第一次这样做,因为我的项目非常小,所以我需要更多的学习 <dependency org="javax.servlet" name="servlet-api" rev="2.5" /> <dependency org="log4j" name="log4j" rev="1.2.15" /> </dependencies> 5分钟前,我试图下载log4j时遇到了一个问题 <d

我正在用常春藤来解决我非常小的项目中的依赖关系。这是我第一次这样做,因为我的项目非常小,所以我需要更多的学习

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
5分钟前,我试图下载log4j时遇到了一个问题

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
我的配置非常基本,我有一个ant任务:

<target name="resolve" description="--> retrieve dependencies with ivy">
        <ivy:retrieve/>
    </target>
    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
有什么我能做的吗

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
谢谢大家

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>

F

问题是,正如您所意识到的,这些JAR不在远程存储库中。但它们可能不是你的课程真正需要的。Ivy尝试下载它们的唯一原因是它们在ibiblio上的pom.xml中声明。如果您尝试1.2.14版,您将看到这些可传递的依赖项不在1.2.14 pom中,因此Ivy不会下载它们

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
或者,如果您希望继续使用1.2.15,您可以添加到ivy.xml文件中,告诉ivy忽略这些库:

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>
<dependency org="log4j" name="log4j" rev="1.2.15">
  <exclude org="com.sun.jdmk"/>
  <exclude org="com.sun.jmx"/>
  <exclude org="javax.jms"/>
</dependency>


希望能有所帮助:)

如果有人在这里使用了
sbt
,可以使用以下语法(摘自sbt手册):
libraryDependencies+=“log4j”%“log4j”%“1.2.15”excludeAll(excludeRule(organization=“com.sun.jdmk”)、excludeRule(organization=“com.sun.jmx”)、excludeRule(organization=“javax.jms”))
    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>