Ant脚本中的FileSet问题?

时间:2010-05-07 04:54:50

标签: ant fileset

我使用Ant脚本生成javadoc,我只是想让Ant根据某种模式查找一些类,所以我写道:

<javadoc access="public" source="1.6" sourcepath="src" destdir="dest" >

<fileset dir="src" casesensitive="yes" defaultexcludes="yes">
        <filename name="**/ABC*.java"/>
</fileset>

</javadoc>                       

这意味着我只希望Ant查找仅以“ABC”开头的源文件,并为这些文件生成javadoc。但是,对于以“ABC”开头的每个文件,结果都是重复的。

我做错了吗?

由于

3 个答案:

答案 0 :(得分:3)

问题来自同时使用sourcepath属性和嵌套fileset标记。如果您取消sourcepath并且只有fileset,那么您应该没事。即,而不是

<javadoc access="public" source="1.6" sourcepath="src" destdir="dest" >
<fileset dir="src" casesensitive="yes" defaultexcludes="yes">
    <filename name="**/ABC*.java"/>
</fileset>
</javadoc>

只是这样做:

<javadoc access="public" source="1.6" destdir="dest" >
<fileset dir="src" casesensitive="yes" defaultexcludes="yes">
    <filename name="**/ABC*.java"/>
</fileset>
</javadoc>   

答案 1 :(得分:1)

您无法在javadoc任务中使用复杂的文件模式。

Ant Javadoc类的javadoc提到了这个限制:

==开始引用===

目前已知的限制是:

  • 模式必须是“xxx。*”形式,其他每种模式都不起作用。

  • ...

==结束报价===

答案 2 :(得分:0)

您可以尝试使用嵌套include内部文件集,而不是像filename那样

<include name="**/ABC*"/>

或使用javadoc标记中的packagenames属性

 <javadoc packagenames="*.abc*"