Ant javadoc生成的测试代码无法从src代码中找到符号



在我的项目中,我有一个包含应用程序代码源的src文件夹和一个包含应用程序测试代码源的test文件夹。

在我的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>

${测试。Home}变量是测试文件夹。在类路径测试中,我将jar从junit放入,以避免在javadoc生成期间关于注释细节的错误。这个jar包含在${libtest.home}中。

当我生成javadoc时,我有几个关于测试文件夹中使用src文件夹中的代码的警告,这是正常的。错误如下:

[javadoc] E:workspaceapptestcomappMyClass.java:9: package com.app.SrcClass does not exist
[javadoc] symbol  : class MyClass
[javadoc] location: class com.app.MyClass

所以,有人知道在类路径中包含src类以避免这些警告的方法,而不将源代码javadoc包含在测试代码javadoc中。

或者可以禁用这些警告,因为javadoc任务的verbose选项为false不会禁用这些警告。

所以,有人知道在类路径中包含src类以避免的方法这些警告,但没有源代码javadoc包含在测试中代码javadoc。

确保测试所依赖的类位于类路径上。您可能希望使javadoc生成目标依赖于从src编译代码并构建jar文件的目标。然后确保refid classpath-test引用的类路径包含该jar。

相关内容

  • 没有找到相关文章

最新更新