我试图使用这个java代码从java类运行JUnit ant任务:
File buildFile = new File("build\\build-junit.xml");
System.out.println("Running the tests");
Project project = new Project();
project.setUserProperty("ant.file", buildFile.getAbsolutePath());
project.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
project.addReference("ant.projectHelper", helper);
helper.parse(project, buildFile);
project.executeTarget(project.getDefaultTarget());
以下是它尝试运行的Ant脚本源: http://jpst.it/j6K3(很抱歉给您带来不便,因为粘贴源代码会给我带来问题)
最后抛出异常:
线程“main”中的异常C:\ hudson \ workspace \ FestTesting \ exchange \ build \ build-junit.xml:31:无法创建任务或类型类型:junit。
你们中的任何人都知道如何解决这个问题吗?
答案 0 :(得分:0)
当.jar
中缺少必需的classpath
时,通常会发生此错误。现在,在您的Ant script
中,您已通过"classpath"
通过:
<junit ...
<classpath refid="classpath" />
...
</junit>
但“classpath”的<pathelement>
可能不完整。确保您已包含JUnit.jar
和ant-junit.jar
。像这样的东西:
<path id="classpath">
...
<pathelement location="...\junit.jar" />
...
</path>
虽然ant-junit.jar
可能会出现$ANT_HOME\lib
,但请对其进行验证。 如果缺少,请进行以下更改:
<path id="classpath">
...
<pathelement location="...\junit.jar" />
<pathelement location="...\ant-junit.jar" />
...
</path>
浏览THIS