2014-09-25 62 views
49

當使用JDK 8運行javadoc時出現此問題的最佳解決方法是什麼?JDK 8中的Javadoc:無效的「自閉元素不允許」

似乎爲JDK 8已經決定,像<br /><p />標籤應產生的錯誤,因爲它們是無效的(嚴格)HTML 4 see discussion JDK mailing list here

我不知道,因爲我只是想編寫一些Java項目使用maven並在此問題上觸發。當然,我可以在項目中提交一張票(我想我會這樣做),但如果有一種方法可以禁用這種行爲(對於一臺機器),那將是非常好的。否則,我預計很多項目需要修復,然後才能在JDK 8上構建而不會出現問題。

+5

是否-Xdoclint:無效? – 2014-09-25 22:50:01

+0

感謝您指出這個選項! – JE42 2014-09-25 23:08:57

+2

谷歌搜索這個選項產生了一個非常不錯的鏈接:http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html – JE42 2014-09-25 23:09:22

回答

25

對於這兩種特殊情況,我認爲推薦的操作是用<p>替代它們。 This是Oracle文檔的鏈接。

+0

最好的建議是@ JE42使用這個http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html來設置'-Xdoclint:none.' – Abhijeet 2016-06-30 03:56:31

14

從「What's New in JDK 8」取自oracle.com:

javac工具現在有檢查的javadoc註釋的問題,可能會導致各種問題,如無效的HTML或可訪問性問題的內容支持,在運行javadoc時生成的文件中。該功能由新的-Xdoclint選項啓用。有關更多詳細信息,請參閱運行「javac -X」的輸出。這個特性在javadoc工具中也是可用的,並且在默認情況下啓用。

現在我做了它告訴我要做的事情。在JDK 7上,「javac -X」的輸出沒有提及-Xdoclint選項。然而,在JDK 8,它提供了:

-Xdoclint:(all|none|[-]<group>)[/<access>] 
    Enable or disable specific checks for problems in javadoc comments, 
    where <group> is one of accessibility, html, missing, reference, or syntax, 
    and <access> is one of public, protected, package, or private. 

因此,運行的Javadoc工具如下:

javadoc.exe -Xdoclint:none <other options...> 

在我的劇本,你提到使用此選項消失了錯誤。

+1

是的,這是正確的。但是,JDK 7的javdoc將使用此選項失敗,這意味着您必須檢測對新選項的支持。最後,我最終修復了這個html。 – JE42 2015-01-21 15:33:12

+0

如果項目使用maven,則可以使用僅激活jdk8的配置文件。如果可以的話,修正HTML可能會更好,併爲項目提出錯誤。 – 2015-02-18 16:21:38

13

要刪除這些錯誤在的javadoc只需更換:

  • <p/>只有<p>
  • <br/>只有<br>

一切都在一個例外的方式修正後工作正常。