Ant classpath和junit.jar

我有一个build.xml,允许我运行junit测试。 以下是相关部分:

                    

如果我更换线路:

  

  

更改打破了类路径。 我收到以下错误:

如果不是在Ant自己的类路径中, 必须包含junit.jar

据我所知,location属性在两种情况下都应该保持相同的值。 那可能是什么原因呢?

作为一个附带问题,此构建文件不适用于具有不同junit版本的环境(路径将中断)。 是否可以为junit.jar添加“常规”路径?

JUnit库驻留在您告诉它驻留的任何地方。 就个人而言,我会完全忘记链接Eclipse附带的jar文件,而是直接下载 jar文件。

如果我有一个项目,比如在路径/project那么我会尝试将依赖项放在该层次结构中的某个位置,例如/project/test/lib/junit.jar 。 如果我的ant构建文件是/project/build.xml那么就像将./test/lib/junit.jar添加到JUnit类路径一样简单。 试图引用机器上的任意位置是脆弱的(记住,Eclipse可以安装在任何地方 ),特别是在使用相对路径时(因为您的项目内容可以存储在任何地方 )。

如果你在Linux上,你可以随时将你的jar符号链接到另一个位置。 这样,您可以将其符号链接到不包含该版本的路径。 例如:

  ln -s plugins/org.junit4_4.5.0.v20090824/junit.jar /wherever/junit.jar 

您可能希望在eclipse子目录之外有一个库文件夹。 您还可以考虑使用常春藤或maven来管理您的依赖项。

我不确定为什么上面的示例失败,但错误消息暗示找不到junit.jar。 你确定eclipse.home已经设置好了吗? 你可以回复它: