【发布时间】:2017-05-02 12:55:56
【问题描述】:
我正在为一个包含 2,509 个类的模块构建 Javadoc。目前这需要 7 分钟或每秒 6 个文件。
我试过了
mvn -T 1C install
但是javadoc 只使用 1 个 CPU。有没有办法使用更多和/或加快速度?
我正在使用 Oracle JDK 8 更新 112。我的开发机器有 16 个内核和 128 GB 内存。
运行飞行记录器我可以看到只有一个线程main
对于那些感兴趣的人,我使用了以下选项:
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOptions>
<additionalJOption>-J-XX:+UnlockCommercialFeatures</additionalJOption>
<additionalJOption>-J-XX:+FlightRecorder</additionalJOption>
<additionalJOption>-J-XX:StartFlightRecording=name=test,filename=/tmp/myrecording-50.jfr,dumponexit=true</additionalJOption>
<additionalJOption>-J-XX:FlightRecorderOptions=loglevel=debug</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
注意:一种解决方法是:
-Dmaven.javadoc.skip=true
【问题讨论】:
-
Oracle
javac编译器不是多线程的,但 Eclipse 编译器是。 Eclipse 编译器也能生成 javadoc 吗? -
您可能会触发 JavaDoc 错误。大部分时间都花在 HashMap.put() 和 ClassMember.isEqual() 上,这可能表明哈希码算法不佳,导致冲突过多。
-
它不一定相关,但你通过
mvn调用javadoc,所以maven加速可能值得一试,即export MAVEN_OPTS="-client -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xverify:none"(参见this blog)。我对此没有太大希望,但谁知道呢? -
如果有帮助请查看此链接:issues.apache.org/jira/browse/LUCENE-5282
标签: java javadoc maven-javadoc-plugin