gpt4 book ai didi

java - Ant 类路径和 junit.jar

转载 作者:太空狗 更新时间:2023-10-29 22:44:30 27 4
gpt4 key购买 nike

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

<path id="JUnit 4.libraryclasspath">
<pathelement location="../../../../../eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>
<pathelement location="../../../../../eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar"/>
</path>
<path id="MyProject.classpath">
<pathelement location="bin"/>
<path refid="JUnit 4.libraryclasspath"/>
</path>

<target name="run_unit_tests" depends="build">
<mkdir dir="${junit.output.dir}"/>
<junit printsummary="yes" haltonfailure="no">
<classpath refid="MyProject.classpath" />

<formatter type="xml"/>
<batchtest todir="${junit.output.dir}">
<fileset dir="${src}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
</target>

如果我替换行:

<pathelement location="../../../../../eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>

<pathelement location="${eclipse.home}/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>

更改会破坏类路径。我收到以下错误:

The <classpath> for <junit> must include junit.jar if not in Ant's own classpath

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

作为附带问题,此构建文件将无法在具有不同 junit 版本的环境中运行(路径会中断)。是否可以向 junit.jar 添加“通用”路径?

最佳答案

JUnit 库位于您指定的位置。就个人而言,我会完全忘记链接 Eclipse 附带的 jar 文件,而是 download the jars directly .

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

关于java - Ant 类路径和 junit.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766070/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com