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

Ant javadoc生成的测试代码无法从src代码中找到符号,ant,javadoc,Ant,Javadoc,在我的项目中,我有一个src文件夹,其中包含应用程序的代码源,还有一个test文件夹,其中包含应用程序测试的代码源 在我的Ant构建中,我想分离这些源代码的javadoc生成。对于src代码javadoc生成,没有问题,但是对于测试代码javadoc生成,我遇到了一个问题,因为测试代码使用src代码 生成javadoc的Ant任务如下: <path id="classpath-test"> <pathelement path="." /> <pathelem

在我的项目中,我有一个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>
[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任务的verbose选项为false不会禁用这些警告

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

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

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



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

我将尝试源代码的jar生成解决方案,但实际上在类路径测试中,已经有一个指向编译的源类的pathelement。“它会有和罐子一样的效果,我想不会吧?”西尔索,当然会有同样的效果。我的回答是这样的,因为最初您在类路径测试中编写了
,我从junit中放入了jar,这是不够的。请原谅精度泄漏。事实上,在类路径测试中,我很好地引用了上一个任务中编译的源代码。@sylsau,在第一篇文章中我完成了Ant脚本。我将尝试使用jar生成源代码的解决方案,但实际上在类路径测试中,已经有一个指向编译的源类的pathelement。“它会有和罐子一样的效果,我想不会吧?”西尔索,当然会有同样的效果。我的回答是这样的,因为最初您在类路径测试中编写了
,我从junit中放入了jar,这是不够的。请原谅精度泄漏。事实上,在类路径测试中,我对上一个任务中编译的源代码有很好的参考。@sylsau无论如何,如果你发布其余的脚本可能会有所帮助。我在第一篇文章中完成了Ant脚本。你能显示编译器抱怨的源代码吗?这是一个
import
语句吗?是的,编译器抱怨的源代码是:import com.app.XClass;在消息中找不到symbol symbol:XClass。这与问题中显示的不同:-/类XClass的名称只是一个示例。我有几个类似于源代码中不同类的错误。问题是这不是错误消息“package…”不存在。这似乎表明您使用了
import com.app.SrcClass.*或类似的。你能告诉我编译器抱怨的源代码吗?这是一个
import
语句吗?是的,编译器抱怨的源代码是:import com.app.XClass;在消息中找不到symbol symbol:XClass。这与问题中显示的不同:-/类XClass的名称只是一个示例。我有几个类似于源代码中不同类的错误。问题是这不是错误消息“package…”不存在。这似乎表明您使用了
import com.app.SrcClass.*或类似。