我正在运行mvn clean install
并且让gc限制超出问题
mvn -version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T01:09:06+05:30)
Maven home: F:\Maven_Home\apache-maven-3.5.0\bin\..
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_131\jre
Default locale: en_IN, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
还设置MAVEN_OPTS=-Xms1024M -Xmx2048M -XX:-UseGCOverheadLimit
,但问题仍在继续。
这里是错误堆栈跟踪
java.lang.OutOfMemoryError: Java heap space
at org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:578)
at org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:414)
at org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:77)
at org.eclipse.jdt.internal.compiler.batch.BatchCompilerRequestor.acceptResult(BatchCompilerRequestor.java:38)
at org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:699)
at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:612)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:458)
at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(Main.java:4156)
at org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1703)
at org.eclipse.tycho.compiler.jdt.JDTCompiler.compileInProcess(JDTCompiler.java:349)
at org.eclipse.tycho.compiler.jdt.JDTCompiler.performCompile(JDTCompiler.java:109)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:785)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
在jvisualvm中观察进程(它是JDK的标准部分)。在那里你可以看到内存是否正确设置为2048m。如果没有,请直接将参数提供给Maven。如果你在jvisualvm中看到参数设置正确,你只需要更多的内存。
答案 1 :(得分:-1)
您可以在pom.xml
中为其设置相关性,有关详细信息,请参阅here。请注意,我已在配置中添加了该链接上的内容。
<project>
[...]
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
[...]
</project>