IntelliJ IDEA使用maven-javadoc-plugin生成Java Doc控制台乱码

问题重现

在使用IDEA生成Java Doc的过程中,发现IDEA控制台乱码,作为有轻微代码强迫症的我来说,这是不可忍受的,需要鼓捣一番。先上pom.xml中的javadoc插件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!--配置生成Javadoc包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<encoding>UTF-8</encoding>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>

在运行mvn clean package命令进行打包之后,控制台会打印出如下信息,可以看到在使用javadoc插件的过程中,控制台输出乱码

[INFO] —- maven-javadoc-plugin:2.10.3:jar (attach-javadocs) @ lucene —-
[INFO]
���ڼ���Դ�ļ�D:\Multi-module-project\Lucene\src\main\java\AnalyzerDemo.java…
���ڼ���Դ�ļ�D:\Multi-module-project\Lucene\src\main\java\BaiduAPI.java…
���ڼ���Դ�ļ�D:\Multi-module-project\Lucene\src\main\java\CustomQueryParser.java…

解决办法

IDEA中,打开File | Settings | Build, Execution, Deployment | Build Tools | Maven | RunnerVM Options中添加-Dfile.encoding=GBK,切记一定是GBK。即使用UTF-8的话,依然是乱码,这是因为Maven的默认平台编码是GBK,如果你在命令行中输入mvn -version的话,会得到如下信息,根据Default locale可以看出

Maven home:…
Java version:…
Java home:…
Default locale: zh_CN, platform encoding: GBK

再次运行mvn clean package,控制台输出一切正常

[INFO] —- maven-javadoc-plugin:2.10.3:jar (attach-javadocs) @ lucene —-
[INFO]
正在加载源文件D:\Multi-module-project\Lucene\src\main\java\AnalyzerDemo.java…
正在加载源文件D:\Multi-module-project\Lucene\src\main\java\BaiduAPI.java…
正在加载源文件D:\Multi-module-project\Lucene\src\main\java\CustomQueryParser.java…

坚持原创技术分享,您的支持将鼓励我继续创作!
Fork me on GitHub