1

当我在我的 java 源代码上运行 javadoc 时,我得到了 Junit 测试类的这个错误:

[javadoc] /mypath/TestStuff.class: warning: Cannot find annotation method 'expected()' in type 'org.junit.Test': class file for org.junit.Test not found

带有此类注释的junit版本4会出现问题:

@Test(expected=Exception.class)

显然,听起来 javadoc 找不到 org.junit.Test 但为什么它首先需要它?我该如何解决?

干杯大卫


更新:

junit jar 不在我的项目类路径中,但在 $ANT_HOME/lib 中。这样,我不必将它添加到我的项目 lib 文件夹中,并且 junit ant 目标可以正常工作。

听起来 ant 中的 javadoc 目标不使用 $ANT_HOME/lib 来查找 jars

4

2 回答 2

1

org.junit.Test 是定义您正在使用的 @Test 注释的类。听起来您需要将 junit jar 添加到类路径中。

编辑:我使用 ant 设置项目以使用 2 个类路径,一个用于常规类,一个用于仅测试的东西,并将 junit 添加到仅测试的类路径中。

于 2010-01-19T13:37:46.273 回答
1

您需要告诉 Ant 中的 javadoc 任务在哪里可以找到 junit,使用“classpath”或“classpathref”属性或嵌套的 <classpath> 元素。

就像是

 <javadoc ...>
     ...
     <classpath path="path/to/your/junit.jar"/>
     <!-- or maybe "${env.ANT_HOME}/lib/junit.jar" ? -->
 </javadoc>

请参阅http://ant.apache.org/manual/Tasks/javadoc.html以供参考。

这可能意味着您必须将 junit.jar 存储在项目中,因为这样更容易引用。

于 2010-01-19T13:55:53.497 回答