簡體   English   中英

SpringBoot, Maven, 龍目島 StackOverflowErrorESC

[英]SpringBoot, Maven, Lombok StackOverflowErrorESC

我有 maven 項目成功建立在 Windows 環境上。

C:\java\apache-maven-3.6.3\bin\mvn -DskipTests=true package -P prod

建立成功

但是當我嘗試在 Ubuntu env 上執行相同的命令時

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project ics3: Fatal error compiling: java.lang.StackOverflowError -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project ics3: Fatal error compiling

Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1220)

Caused by: org.codehaus.plexus.compiler.CompilerException: java.lang.StackOverflowError
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:197)
Caused by: java.lang.StackOverflowError
    at lombok.javac.JavacAST.drill (JavacAST.java:506)

我試過將 memory 設置為與 Windows PC 上相同的 memory 到 maven

export MAVEN_OPTS="-Xmx3096m -XX:MaxPermSize=512m"

export JAVA_OPTIONS="-Xmx4g"

我的 pom.xml 是

  <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>

Java 11、SpringBoot 2.7

MAVEN_OPTS="-Xms512m -Xmx2048m -Xss1024m" 修復了問題。 甚至 -Xss1024k 也足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM