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

2016-05-06 Eric Wang 更多博文 » 博客 » GitHub »

Maven IntelliJ

原文链接 http://codepub.cn/2016/05/06/IntelliJ-IDEA-using-maven-javadoc-plugin-to-generate-the-Java-Doc-console-gibberish/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


 问题重现

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

<!--配置生成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... ... ...