有次在使用idea開發工具構建項目的時候出現了錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project XXX: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - javadoc: XXX
...
[ERROR] Command line was: "XXX\jre\..\bin\javadoc.exe" @options @packages
...
[ERROR] Refer to the ganerated Javadoc files in 'XXX\target\apidocs' dir
...
直接貼出有效的方法,供大家參考:
偶然看到一篇博客:
參考鏈接:Intellij Idea打包工程時控制台顯示亂碼-CSDN問答
Intellij Idea打包工程時控制台顯示亂碼已經解決了,這主要是maven編譯時編碼問題導致的。
在Intellij --> File --> Settings --> Build, Execution, Deployment --> Build Tools --> Maven --> Runner 配置中設置它的VM Options為:-Dfile.encoding=GBK(或者:-DarchetypeCatalog=internal -Dfile.encoding=GBK),就可以解決maven編譯、打包時中文亂碼的問題。
正好想起我在構建項目的時候也出現亂碼的情況,因此嘗試了這個方法。結果恰好也解決了我報錯的那個問題,過程也嘗試了上述的各種方法,最終解決問題,比較滿意。
以下方式都一一嘗試但是沒有成功解決問題,也放出來,大家可以根據自己的情況嘗試:
在網上查找了各種方法:
一、修改環境變量
將classpath的%JAVA_HOME%修改為絕對路徑
參考鏈接:IntellIJ idea打包報錯:javadoc生成文檔時報錯java.lang.IllegalArgumentException解決方案_天涯芳草-CSDN博客
解決方案:
把java環境變量配置:
CLASSPATH: %JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
更改為CLASSPATH: C:\Program Files\Java\jdk1.8.0_74\lib;C:\Program Files\Java\jdk1.8.0_74\lib\tools.jar;
二、修改jdk1.8的配置或者maven的配置
經查得知,在JDK 8中,Javadoc中添加了doclint,而這個工具的主要目的是旨在獲得符合W3C HTML 4.01標准規范的HTML文檔,在JDK 8中,已經無法獲取如下的Javadoc,除非它滿足doclint:
- 不能有自關閉的HTML tags,例如
<br/>
或者<a id="x"/>
- 不能有未關閉的HTML tags,例如有
<ul>
而沒有</ul>
- 不能有非法的HTML end tags,例如
</br>
- 不能有非法的HTML attributes,需要符合doclint基於W3C HTML 4.01的實現
- ......
三、安裝maven終端,使用mvn命令構建
解決方案:打開終端,【前提是你的環境裝了maven】
命令執行:
mvn clean install -DskipTests -Dmaven.javadoc.skip=true
...
也感謝上述各位博主的經驗分享!
*********************************分割線*********************************
(補充)同樣的問題可能在eclipse上面也存在
參考鏈接:Maven 執行Javadoc時控制台輸出亂碼問題 - Albert.Sun - 博客園 (cnblogs.com)
根據這位博主的方法,在構建項目時候 右鍵項目 --> run as --> run configuration --> Maven Build 選中你要構建的項目,在右側窗口中的common標簽頁Encoding選擇Other 手動改為GBK(跟本地mvn一致),也成功解決問題。