Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Ant Javadoc类排除两个文件?_Java_Ant_Javadoc - Fatal编程技术网

如何使Ant Javadoc类排除两个文件?

如何使Ant Javadoc类排除两个文件?,java,ant,javadoc,Java,Ant,Javadoc,我正在记录一些Java Web服务和支持的数据类型。有两项服务我不希望记录在案。从Ant javadoc任务中排除少量文件的正确方法是什么 我尝试过多次迭代,使用嵌套在sourcepath或sourcefiles下的文件或文件集,并使用包括和排除的各种组合 我正确定义的基本目标记录了我的所有Web服务: <target name="javadoc.webservices" description="Generate the documentation for companyproj

我正在记录一些Java Web服务和支持的数据类型。有两项服务我不希望记录在案。从Ant javadoc任务中排除少量文件的正确方法是什么

我尝试过多次迭代,使用嵌套在sourcepath或sourcefiles下的文件或文件集,并使用包括和排除的各种组合

我正确定义的基本目标记录了我的所有Web服务:

    <target name="javadoc.webservices" description="Generate the documentation for companyproject webservices">
    <delete dir="docs/webservices" failonerror="true"/>
    <mkdir dir="docs/webservices"/>
    <javadoc packagenames="com.company.project.webservices,com.company.project.models.*"
             defaultexcludes="yes"
             destdir="docs/webservices"
             author="true"
             version="true"
             use="true"
             windowtitle="company project Webservices">
        <doctitle><![CDATA[<h1>company project Webservices</h1>]]></doctitle>
        <bottom><![CDATA[<i>Copyright &#169; 2011 company Corp. All Rights Reserved.</i>]]></bottom>
        <sourcepath>
            <path location="companyproject-ejb/src/java"/>
            <path location="companyproject-models/src"/>
        </sourcepath>
        <classpath>
            <path refid="companyproject-models.module.classpath"/>
            <path refid="companyproject-ejb.module.classpath"/>
            <pathelement location="${companyproject-ejb.output.dir}"/>
        </classpath>
    </javadoc>
</target>
与sourcefiles相同的错误,但由于它不是目录,所以有很多消息说
正在跳过

我用
而不是
尝试过类似的变体

我想我对include/excludes的工作原理缺乏一些基本的了解。谢谢你的帮助

亚历克瑟没有完全理解,但接近了。我删除了
并添加了

<fileset dir="./Companyproject-ejb/src/java/">
<include name="com/Company/project/webservices/*"/>
<exclude name="**/IntegrationTestWS*"/>
<exclude name="**/NhinInterfaceWS*"/>
</fileset>
<packageset dir="./Companyproject-models/src/">
    <include name="com/Company/project/models/**"/>
</packageset>

由于只有一个文件集,javadoc抱怨找不到任何包。Packageset的行为类似于目录集,因此它不能排除单个文件,只能排除目录。在本例中,我能够为一组doco定义一个packageset,为受限集定义一个文件集,并绕过它。

<fileset dir="src" defaultexcludes="yes">
  <include name="com/dummy/test/**"/>
  <exclude name="com/dummy/test/doc-files/**"/>
</fileset>

我认为您的错误是“sourcefiles”和“sourcepath”标记。尝试移除它们。 有关更多信息,请查看此处:


祝你好运

也遇到了同样的问题,并且深入研究了
manjavadoc
,得出结论:除了在OPs案例中出现的解决方法外,没有解决方案。然而,我想记录我从文件中读到的内容

Ant的
javadoc
任务只是Java的
javadoc
的包装,因此后者的文档适用。尤其是,
javadoc
似乎有两个完全分离的生成文档的概念:

  • 文件包
  • 记录单个类
  • 对于(1)我们指定包名,如my.nice.package和
    -sourcepath
    ,以帮助
    javadoc
    查找这些包。使用ant,可以将名称提供为
    packagenames
    packageset
    ,后者将路径名转换为包名(斜杠到点)

    对于(2),我们指定文件路径,可能使用通配符。然后记录每个单独的文件。使用ant,这是通过嵌套的
    文件集来完成的,它允许我们排除文件

    现在看来,这两件事在
    javadoc
    中并没有很好地结合在一起

    a) 在记录包时,无法排除单个文件

    b) 记录单个文件时,不会记录包,这会导致在使用
    {@link my.package}
    时错误引用包名的错误消息

    manjavadoc
    中搜索记录包和类的文档,看看我从哪里读到这篇文章


    这是一个,似乎:-(

    谢谢。我整个上午都在看ant手册!我应该把fileset标记放在哪里?作为javadoc的孩子?sourcefiles、sourcepath和classpath之间有什么区别?Erp.RTFM,我看到fileset是javadoc的一个嵌套参数。我会试试。Accepted.Was关闭,请参阅OP以获得解决方案。
    <fileset dir="./Companyproject-ejb/src/java/">
    <include name="com/Company/project/webservices/*"/>
    <exclude name="**/IntegrationTestWS*"/>
    <exclude name="**/NhinInterfaceWS*"/>
    </fileset>
    <packageset dir="./Companyproject-models/src/">
        <include name="com/Company/project/models/**"/>
    </packageset>
    
    <fileset dir="src" defaultexcludes="yes">
      <include name="com/dummy/test/**"/>
      <exclude name="com/dummy/test/doc-files/**"/>
    </fileset>