【发布时间】:2011-10-23 09:30:15
【问题描述】:
在我的项目中,我有一个包含应用程序代码源的 src 文件夹和一个包含应用程序测试代码源的测试文件夹。
在我的 Ant 构建中,我想单独生成这些源代码的 javadoc。对于 src 代码 javadoc 生成,没有问题,但是对于测试代码 javadoc 生成,我遇到了问题,因为测试代码使用了 src 代码。
我生成 javadoc 的 Ant 任务是这样的:
<path id="classpath-test">
<pathelement path="." />
<pathelement path="${testclasses.home}" />
<pathelement path="${classes.home}" />
<fileset dir="${lib.home}" includes="*.jar" />
<fileset dir="${libtest.home}" includes="*.jar" />
</path>
<target name="compile" ... > // compiles src code of the project in ${classes.home}
<target name="compile-tests" depends="compile">
<javac srcdir="${test.home}"
destdir="${testclasses.home}"
target="1.5"
source="1.5"
debug="true"
>
<classpath refid="classpath-test" />
</javac>
<copy todir="${testclasses.home}">
<fileset dir="${test.home}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="generate-javadoc-tests" depends="compile-tests" >
<javadoc sourcepath="${test.home}" packagenames="*"
destdir="${test-javadoc.home}" verbose="false"
linksource="true" encoding="${encoding}">
<classpath refid="classpath-test" />
</javadoc>
</target>
${test.home} 变量是测试文件夹。在 classpath-test 中,我从 junit 中放置了 jar,以避免在 javadoc 生成过程中出现关于 junit 注释细节的错误。此 jar 包含在 ${libtest.home} 中。
当我生成 javadoc 时,我有几个关于测试文件夹中的代码使用 src 文件夹中的代码的警告,这是正常的。错误是这样的:
[javadoc] E:\workspace\app\test\com\app\MyClass.java:9: package com.app.SrcClass does not exist
[javadoc] symbol : class MyClass
[javadoc] location: class com.app.MyClass
因此,有人知道一种方法可以在类路径中包含 src 类以避免这些警告,但不会在测试代码 javadoc 中包含源代码 javadoc。
或者可能是禁用这些警告的一种方法,因为将 javadoc 任务的详细选项设置为 false 不会禁用这些警告。
【问题讨论】:
-
你能显示编译器抱怨的源代码吗?这是
import声明吗? -
是的,编译器抱怨的来源是:import com.app.XClass;带有消息找不到符号符号:XClass。
-
这与您在问题中显示的内容不同:-/
-
XClass 类的名称只是一个例子。我有几个错误,例如源代码中的不同类的错误。
-
重点是这不是错误信息“包...”不存在。这似乎表明您使用过
import com.app.SrcClass.*;或类似名称。