0

我是 Maven 新手。我正在使用Mac OSX。我尝试使用 maven 构建项目并且它发生得很好。然后我使用mvn spotbugs:spotbugs来使用 spotbugs 插件!花了一段时间并在线程“main”中抛出异常

java.lang.OutOfMemoryError:Java 堆空间。

我尝试的项目是 330 MB,非常大,我现在无能为力。我在网上尝试了很多解决方案:

1.export MAVEN_OPTS="-Xmx2048m"(我尝试增加到12000m仍然不起作用)

2.使用了这个插件

       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            <fork>true</fork>
            <meminitial>1024m</meminitial>
            <maxmem>8096m</maxmem>
        </configuration>
       </plugin>

仍然没有工作。

任何人都可以指导我完成它吗?我正在使用 maven spotbugs 版本 3.1.12。

使用java 11,Maven 3

4

2 回答 2

1

SpotBugs Maven 插件在其常见问题解答中有“如何避免 OutOfMemory 错误? ”我假设您已经看过(因为您尝试过MAVEN_OPTS="-Xmx2048m"

但是还有一件事

您还可以使用 fork 选项,该选项将用于新的 JVM。然后使用 maxHeap 选项来控制堆大小。

默认情况下,查看文档是选项中3.1.12.3-SNAPSHOT的接缝。如果是这种情况(或您使用的任何确切版本)并且如果我正确阅读了文档,那么您必须配置默认为 512forktrue3.1.12maxHeap

于 2019-08-27T11:16:32.767 回答
0

如上所述,尝试调整 maxHeap 值。

以下是 Maven 配置的片段。这就是我配置 spotbugs 以避免内存不足错误的方式。

 <reporting>
    <plugins>
        <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>${spotbugs-maven-plugin.version}</version>
            <configuration>
                <effort>Max</effort>
                <threshold>Low</threshold>
                <maxHeap>2048</maxHeap>
            </configuration>
        </plugin>
    </plugins>
</reporting>
于 2019-09-17T19:02:47.173 回答