本文介紹了使用javadoc忽略小錯(cuò)誤的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在嘗試使用javadoc從一個(gè)或兩個(gè)下載的JAR文件生成文檔(當(dāng)然,在解壓所有內(nèi)容之后,還帶有源代碼)。
但是使用javadoc,即使是在Ant文件中,我也被阻止生成它,因?yàn)橐恍┯薮赖氖虑椋貏e是”Package XXX不存在”和”找不到符號(hào)”……我只想讓javadoc將這些東西(外部引用)的文本放在html文檔中,但要記錄它找到的所有.Java文件…
注意:任何感興趣的人請(qǐng)注意,這是我試圖從中生成API文檔的下載文件(包含源代碼)的下載頁(yè)面:http://logback.qos.ch/download.html
在Mark Rotteveel的幫助下,我的Ant構(gòu)建文件現(xiàn)在如下所示:
<?xml version="1.0" ?>
<project name="document logback core" default="doc">
<target name="doc">
<mkdir dir="javadoc" />
<property name="excludedPackages"
value="org.codehaus.*,javax.mail.*"/>
<javadoc destdir="javadoc" sourcepath="src" packagenames="main.*"
excludepackagenames="${excludedPackages}"
additionalparam="-Xdoclint:none" />
</target>
</project>
.但它仍然給出錯(cuò)誤:1)找不到包,包括”org.codehaus.[xxx…]”和”javax.mail.[xxx…]”以及2)找不到符號(hào)(不過(guò),如果我能解決缺少包的錯(cuò)誤,這個(gè)問(wèn)題可能會(huì)消失)。
nb據(jù)說(shuō)構(gòu)建成功,但我收到的投訴是沒(méi)有找到源文件(其中確實(shí)有注釋的.java文件),并且在javadoc下根本沒(méi)有生成html。
繼托尼·皮爾斯成功生成這些文檔后
安裝了Ant 1.9.6,相應(yīng)地更改了路徑,并檢查以確保這是正在使用的版本…又試了一次。又失敗了。這是我的輸出的結(jié)尾:
[Javaoc]
D:DesktopDownloadslogback-1.1.7.tarlogback-1.1.7logback-coresrc estjavachqoslogbackcoreappenderConsoleAppenderTest.java:32:
錯(cuò)誤:包org.junit不存在
[javadoc]導(dǎo)入靜態(tài)
Org.juit.Assert.assertEquals;
[javadoc]_
[javadoc]javadoc:錯(cuò)誤-找不到公共或受保護(hù)的類
文件。
[javadoc]1錯(cuò)誤
[javadoc]100個(gè)警告構(gòu)建成功總時(shí)間:2秒
它確實(shí)創(chuàng)建了javadoc文件夾…但這是空的。
nb關(guān)于上面的”包不存在”錯(cuò)誤(還有許多其他錯(cuò)誤):這個(gè)錯(cuò)誤特別令人費(fèi)解,因?yàn)槲艺J(rèn)為Ant在默認(rèn)情況下不知何故包含了junit(nb我是Ant的新手,只是在操作中使用Ant)。
但是…使用Antjavac
任務(wù),您可以設(shè)置includeAntRuntime="true"
…根據(jù)這本書(shū),這使得Ant自己的junit.jar
被包括在內(nèi)。遺憾的是,javadoc
任務(wù)不支持此屬性。
以后仍
老實(shí)說(shuō),我的想法有點(diǎn)混亂:我發(fā)現(xiàn)從第三方源代碼JAR編譯javadoc的最簡(jiǎn)單方法就是提取,然后使用命令行,通常是:
Javadoc-d docs-Xmax警告10-XMaxerrs 10-Xdoclint:無(wú)-源路徑
。-子包c(diǎn)h.qos.logback.core
.至于javadoc
對(duì)于自己的代碼,這在Gradle中似乎不是問(wèn)題(我只是瞥了一眼Ant,意識(shí)到未來(lái)是Gradle…掌握基礎(chǔ)知識(shí)并不是特別困難)。
nb如果您安裝了適用于Eclipse的Gradle STS插件,然后使用Gradle STS向?qū)?chuàng)建一個(gè)新項(xiàng)目,則構(gòu)建文件包含行
應(yīng)用插件:‘eclipse’
.其效果之一是,默認(rèn)情況下,所有第三方依賴項(xiàng)的源代碼和可執(zhí)行文件將在構(gòu)建過(guò)程中下載到GRADLE_HOME下。很好!
推薦答案
Java 8引入了doclint
,它會(huì)將某些問(wèn)題視為錯(cuò)誤,而不會(huì)生成文檔。可以通過(guò)指定命令行選項(xiàng)-Xdoclint:none
來(lái)禁用此功能。
另見(jiàn):Turning off doclint in JDK 8 Javadoc
例如,在Ant中,您需要向javadoc
任務(wù)添加additionalparam="-Xdoclint:none"
屬性。Jaybird中的一個(gè)(略有修改)示例:
<target name="javadocs" depends="init,set-driver-sources">
<mkdir dir="${build.docs}"/>
<javadoc destdir="${build.docs}"
author="true"
version="true"
windowtitle="${Name} API"
doctitle="${Name}"
extdirs="${module.thirdparty}"
additionalparam="-Xdoclint:none"
excludepackagenames="${excludedPackages}"
bottom="Copyright © 2001-2015 Jaybird (Firebird JDBC/JCA) team. All rights reserved.">
<arg line="${java.module.arg}"/>
<classpath refid="javac.driver.classpath"/>
<sourcepath>
<pathelement path="${source.java}"/>
<pathelement path="${source.jna-client}"/>
</sourcepath>
<sourcepath refid="source.java.openoffice"/>
<sourcepath refid="source.java.additional"/>
<link />
</javadoc>
</target>
這篇關(guān)于使用javadoc忽略小錯(cuò)誤的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,