常春藤似乎只能获取javadocjar子

我在我的项目中使用Ivy,使用Ivy Eclipse插件。

似乎下载并添加到我的项目中的某些jar子是javadocjar子,而不是带有实际代码的jar子。 注意 – 所有jar子都不会发生这种情况。

例如,将其添加到我的ivy.xml文件中:

 

导致junit的javadocs被下载并添加到我的类路径中: 在此处输入图像描述

这打破了我的项目的编译,因为没有unit testing工作。

这个工作正常,直到我添加了对Spring的引用,一切都破了。 我已经尝试删除引用,并从我的本地缓存中删除junit以强制常春藤再次获取它,但问题仍然存在。

这是我的总依赖块(删除了弹簧):

       

这是项目的ivysettings.xml

                                

一些开源模块包括可选的java doc jar。 要删除它们,请为每个依赖项添加配置映射:

   

ivy中的默认配置等同于maven模块中的编译范围。 这是可以自动省略可选库的方式。 (检查他们的POM)。

更好的方法是声明您自己的配置和默认映射,如下所示:

     

然后在你的常春藤文件中你只需要声明非标准配置:

       

在这种情况下,我们只希望3个测试库出现在测试配置中。

仍然困惑? 常春藤配置的神奇之处在于,当您使用它们来管理构建的类路径时

       

这是Maven在依赖项上声明范围标记时正在执行的操作,例如:

  junit junit 4.8.2 test  

Maven的范围是固定的。 在常春藤,你可以拥有你需要的任意数量。