Sonar Ant Task会在每次执行时增加PermGen使用率

时间:2015-03-03 17:18:55

标签: java ant sonarqube permgen

我有一个使用一些复杂的ant脚本构建的遗留项目。基本上它归结为一个中心ant脚本,声明filelist项目构建文件,然后对于每个运行的目标,它遍历构建文件列表并使用subant调用该项目的目标,例如< / p>

<subant target="targetName">
    <filelist refid="projectList"/>
</subant>

我称之为Sonar的目标之一,Sonar目标如下:

<target name="sonar" depends="sonar-init, jacoco-report" if="${sonar.enabled}">
    <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml" classpathref="sonar.classpath"/>
    <sonar:sonar/>
</target>

我已经使用jconsole进行了一些分析,我可以看到每次启动声纳任务时,大约在安装JDBC驱动程序的时间(基于声纳的记录),PermGen的使用量会大约增加30MB。由于我们有一些包含大量项目的构建,这可能导致PermGen使用率跳得很高,我必须增加MaxPermSize以完成完整构建。

有没有什么方法可以让Sonar或Ant在每次调用Sonar任务时都不将所有内容加载到内存中?

0 个答案:

没有答案