如果你可以從內部人士類公衆公開分離通過包(即有一些包含您的庫的用戶所需的所有公共類,並沒有其他公共類),然後只在這些包上運行Javadoc。
Javadoc通過提供要使用的軟件包列表(以及用於查找這些軟件包的源代碼路徑),並僅爲這些軟件包生成文檔。
使用Ant它有點複雜,因爲使用javadoc
任務的最簡單方法是使用<packageset>
默認採用給定目錄中的所有包。
這裏只有一個包的示例:
<target name="javadoc">
<javadoc destdir="${javadoc}"
encoding="US-ASCII"
charset="UTF-8"
docencoding="UTF-8"
use="yes"
windowtitle="JSch API"
sourcepath="${src}"
>
<arg value="-notimestamp" />
<package name="com.jcraft.jsch" />
<doctitle>JSch – Java Secure Channel ${version}</doctitle>
<bottom>This is an inofficial Javadoc created by Paŭlo Ebermann.
Have a look at the <a href="http://www.jcraft.com/jsch/">official homepage</a>.
</bottom>
<link href="http://download.oracle.com/javase/6/docs/api/" />
</javadoc>
</target>
你可以view the result,但它其實不是一個很好的例子,作爲主包這裏包含了大量的類這是不爲消費者使用。
如果你是像JSch的情況,即你不能從內部人士類公衆公開的包,因爲你有一個包含公共和私有類型的封裝分開,還有一種方法來做到這一點。 Javadoc還支持不提供包名,而是提供單個文件名作爲參數。正如我剛剛花了一些時間來弄清楚如何與螞蟻,這裏所產生的Ant目標代碼做到這一點:
<target name="simple.javadoc">
<javadoc destdir="${simple.javadoc}"
encoding="US-ASCII"
charset="UTF-8"
docencoding="UTF-8"
use="yes"
windowtitle="simple JSch API"
excludepackagenames="*"
sourcepath="${src}"
>
<arg value="-notimestamp" />
<sourcefiles>
<resourcelist encoding="US-ASCII">
<file file="simpleclasses.list" />
</resourcelist>
</sourcefiles>
<doctitle>JSch – Java Secure Channel ${version} (simplified version)</doctitle>
<bottom>This is a simplified version of the <a href="http://epaul.github.com/jsch-documentation/javadoc/">inofficial Javadoc</a> created by Paŭlo Ebermann.
Have a look at the <a href="http://www.jcraft.com/jsch/">official homepage</a>.
</bottom>
<link href="http://download.oracle.com/javase/6/docs/api/" />
</javadoc>
</target>
文件在simpleclasses.list這裏列出的來源,使用resourcelist
。我認爲一個簡單的文件集includesfile=...
也可以工作(並且它也可以允許模式而不是簡單的列表)。
重要的一點我必須搜尋相當長的一段:如果你給一個sourcepath
屬性,並且不給任何packagenames
屬性或<package>
子元素,螞蟻會自動提供一個「全包」默認情況下,除了提到的文件,導致不排除任何東西。 (我們希望這裏的sourcepath
允許從未記錄的類繼承文檔。)因此,我們還必須提供excludepackagenames="*"
,因此現在只有<sourcefiles>
元素定義了要記錄的內容。
The result looks now much nicer,謝謝你的提問。
感謝您的幫助! ''給我一個關於嵌套資源的錯誤,但是如果我使用''作爲資源集合,我可以讓它工作正常。 –
2011-05-06 14:17:57