簡體   English   中英

如何讓Ant Javadoc類排除兩個文件?

[英]How can I make an Ant Javadoc class exclude two files?

我正在記錄一些Java Web服務和支持數據類型。 我不想記錄兩種服務。 從Ant javadoc任務中排除少量文件的正確方法是什么?

我已嘗試使用嵌套在sourcepath或sourcefiles下的文件或文件集進行多次迭代,並使用include和exclude的各種組合。

我已正確定義的基本目標記錄了我的所有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>
            <fileset dir="companyproject-ejb/src/java">
                <include name="**/*.java"/>
                <exclude name="**/*IntegrationTestWS*, **/*NhinInterfaceWS*"/>
            </fileset>
        </sourcefiles>

此錯誤與javadoc.exe CreateProcess error=87, The parameter is incorrect

<sourcepath>
            <fileset dir="companyproject-ejb/src/java">
                <include name="**/*.java"/>
                <exclude name="**/*IntegrationTestWS*, **/*NhinInterfaceWS*"/>
            </fileset>
        </sourcepath>

與sourcefiles相同的錯誤,但有很多消息說skipping <somefile> since it is no directory

我使用<files>而不是<fileset>嘗試了類似的變體。

我想我錯過了一些關於如何包含/排除作品的基本理解。 謝謝您的幫助!

AlexR並沒有得到它,但接近了。 我刪除了<sourcepath>並添加了

<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的行為類似於dirset,因此它不能排除單個文件,只能排除目錄。 在這種情況下,我能夠為一組doco定義一個包集,並為限制集定義一個文件集並繞過它。

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

..................

我認為你的錯誤是“sourcefiles”和“sourcepath”標簽。 嘗試刪除它們。 有關詳細信息,請查看此處: http//ant.apache.org/manual/Tasks/javadoc.html

祝好運!

剛剛遇到同樣的問題,並在man javadoc挖掘了一點,得出的結論是沒有解決方案,除了碰巧在OPs情況下工作的解決方法。 但我想記錄我從文檔中讀到的內容。

Ant的javadoc任務只是Java的javadoc的包裝器,所以后者的文檔適用。 特別是, javadoc似乎有兩個完全分離的生成文檔的概念:

  1. 文件包
  2. 記錄個別課程

對於(1),我們指定包名稱,如my.nice.package和-sourcepath以幫助javadoc找到這些包。 使用螞蟻,名稱可以被提供為packagenames或作為packageset其中后者轉換路徑名包名(斜線DOT)。

對於(2),我們指定文件路徑,可能使用通配符。 然后記錄每個單獨的文件。 使用ant,這是通過嵌套fileset ,它允許我們排除文件。

現在看來,兩個東西在javadoc並不能很好地結合在一起。

a)記錄包時,無法排除單個文件。

b)記錄單個文件時,不會記錄包,這會導致在使用{@link my.package}時出現有關包名錯誤引用的錯誤消息。

man javadoc搜索文件包和類 ,以查看我在哪里閱讀這篇文章。

這是十年之久的問題 ,似乎:-(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM