微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译期间Spring Boot Build Native错误

如何解决编译期间Spring Boot Build Native错误

错误日志和说明

你好

我已经安装了引导本机支持,但收到错误消息。

这篇文章更多是为了支持并为技术团队提供信息以改进此测试版。

如果我们“正常”运行,项目编译没有问题

命令:mvn -Pnative spring-boot:build-image

POM

<project>
    <parent>
        <groupId>parent</groupId>
        <artifactId>pom</artifactId>
        <version>1.0</version>
        <relativePath>/envconfigfiles/pom.xml</relativePath>
    </parent>

    <groupId>spring</groupId>
    <artifactId>configuration.server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>configuration.server</name>
    <description>Spring Configuration Server</description>

    <dependencies>

        <!-- Spring Config Server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <!-- Tests -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>

        <finalName>${project.artifactId}</finalName>

    </build>

</project>
    

父 POM


    <groupId>parent</groupId>
    <artifactId>pom</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <description>Environment Parent POM</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/>
    </parent>

    <properties>

        <apache.commons.lang3>3.8.1</apache.commons.lang3>
        <apache.httpcomponents>4.3.4</apache.httpcomponents>

        <hibernate.types.52>2.9.3</hibernate.types.52>

        <io.springfox.swagger2>2.9.2</io.springfox.swagger2>
        <io.springfox.swagger.ui>2.9.2</io.springfox.swagger.ui>
        <io.swagger.annotations>1.5.20</io.swagger.annotations>
        <io.swagger.bean.validators>2.9.2</io.swagger.bean.validators>

        <java.version>11</java.version>

        <jaxb-api>2.3.0</jaxb-api>
        <jaxb-impl>2.3.0</jaxb-impl>
        <jaxb-runtime>2.3.0</jaxb-runtime>
        <javax.activation>1.1.1</javax.activation>

        <junit.vintage.engine.version>5.3.2</junit.vintage.engine.version>

        <maven.checkstyle.version>3.0.0</maven.checkstyle.version>
        <maven.compiler.plugin>3.8.1</maven.compiler.plugin>
        <maven.jacoco.plugin>0.8.2</maven.jacoco.plugin>
        <maven.failsafe.plugin>2.22.2</maven.failsafe.plugin>
        <maven.surefire.plugin>2.22.2</maven.surefire.plugin>

        <mockito.core>3.11.0</mockito.core>

        <postgresql>42.2.23</postgresql>
        <projectlombok>1.18.20</projectlombok>

        <puppycrawl.checkstyle.version>8.19</puppycrawl.checkstyle.version>

        <spring-boot-admin.version>2.3.1</spring-boot-admin.version>
        <spring-boot-admin-server-ui-login>1.5.7</spring-boot-admin-server-ui-login>
        <spring-boot-admin-starter-client>2.4.1</spring-boot-admin-starter-client>
        <spring-boot-starter-security>2.4.0</spring-boot-starter-security>
        <spring-boot-spring-native>0.10.0</spring-boot-spring-native>

        <spring-cloud.version>2020.0.3</spring-cloud.version>
        <spring-cloud-starter-zipkin>2.2.8.RELEASE</spring-cloud-starter-zipkin>

        <spring-native.version>0.10.1</spring-native.version>

    </properties>

    <!-- MVN PROFILES -->
    <profiles>
        <profile>
            <id>native</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <classifier>${repackage.classifier}</classifier>
                            <image>
                                <builder>paketobuildpacks/builder:tiny</builder>
                                <env>
                                    <BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
                                </env>
                            </image>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.springframework.experimental</groupId>
                        <artifactId>spring-aot-maven-plugin</artifactId>
                        <version>${spring-native.version}</version>
                        <executions>
                            <execution>
                                <id>test-generate</id>
                                <goals>
                                    <goal>test-generate</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>generate</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <!-- Spring Admin Client -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>${spring-boot-admin-starter-client}</version>
        </dependency>

        <!-- Spring Cloud Client -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
        </dependency>

        <!-- Spring Native AOT Client -->
        <dependency>
            <groupId>org.springframework.experimental</groupId>
            <artifactId>spring-native</artifactId>
            <version>${spring-boot-spring-native}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.experimental</groupId>
            <artifactId>spring-aot</artifactId>
            <version>${spring-boot-spring-native}</version>
        </dependency>

        <!-- Spring Swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${io.springfox.swagger.ui}</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-bean-validators</artifactId>
            <version>${io.swagger.bean.validators}</version>
        </dependency>

        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>${io.swagger.annotations}</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${io.springfox.swagger2}</version>
        </dependency>

        <!-- DB -->
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${postgresql}</version>
        </dependency>

        <dependency>
            <groupId>com.vladmihalcea</groupId>
            <artifactId>hibernate-types-52</artifactId>
            <version>${hibernate.types.52}</version>
        </dependency>

        <!-- Apache Libs -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${apache.commons.lang3}</version>
        </dependency>

        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${projectlombok}</version>
        </dependency>

        <!--XML Additional -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>${jaxb-api}</version>
        </dependency>

        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>${jaxb-impl}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>${jaxb-runtime}</version>
        </dependency>

        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>${javax.activation}</version>
        </dependency>

    </dependencies>

    <dependencyManagement>

        <dependencies>

            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-dependencies</artifactId>
                <version>${spring-boot-admin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>

    </dependencyManagement>

    <build>

        <finalName>${project.artifactId}</finalName>

        <plugins>

            <!--CheckStyle -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${maven.checkstyle.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>com.puppycrawl.tools</groupId>
                        <artifactId>checkstyle</artifactId>
                        <version>${puppycrawl.checkstyle.version}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>validate</id>
                        <phase>validate</phase>
                        <configuration>
                            <excludes>
                            </excludes>
                            <configLocation>checkstyle.xml</configLocation>
                            <consoleOutput>true</consoleOutput>
                            <logViolationsToConsole>false</logViolationsToConsole>
                            <encoding>UTF-8</encoding>
                        </configuration>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!--Compiler With Lombok -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.plugin}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${projectlombok}</version>
                        </path>
                    </annotationProcessorPaths>
                    <useIncrementalCompilation>false</useIncrementalCompilation> <!-- https://issues.apache.org/jira/browse/MCOMPILER-209 -->
                </configuration>
            </plugin>

            <!--Jacoco Test Report -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${maven.jacoco.plugin}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- SureFire - Run Unit Tests -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surefire.plugin}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>${junit-jupiter.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <forkedProcessExitTimeoutInSeconds>240</forkedProcessExitTimeoutInSeconds>
                    <includes>
                        <include>**/*.class</include>
                    </includes>
                    <excludes>
                        <exclude>**/*_FT.java</exclude>
                    </excludes>
                    <useSystemClassLoader>false</useSystemClassLoader>
                </configuration>
            </plugin>

            <!-- Run Functional Tests -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${maven.failsafe.plugin}</version>
                <executions>
                    <execution>
                        <id>api-tests</id>
                        <phase>none</phase>
                        <configuration>
                            <testSourceDirectory>src/test/java/functionaltests</testSourceDirectory>
                            <includes>
                                <include>**/*FT*</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <forkedProcessExitTimeoutInSeconds>240</forkedProcessExitTimeoutInSeconds>
                    <useSystemClassLoader>false</useSystemClassLoader>
                    <trimstackTrace>false</trimstackTrace>
                </configuration>
            </plugin>

            <!-- Spring Boot -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludeDevtools>false</excludeDevtools>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>

        </plugins>
    </build>

    <repositories>

        <repository>
            <id>spring-release</id>
            <name>Spring release</name>
            <url>https://repo.spring.io/release</url>
        </repository>

    </repositories>

    <pluginRepositories>

        <pluginRepository>
            <id>spring-release</id>
            <name>Spring release</name>
            <url>https://repo.spring.io/release</url>
        </pluginRepository>

    </pluginRepositories>

</project>

错误日志

14270573607ffcd469159237568469f010e2f97bd74f674f79c38364f'
[INFO]  > Executing lifecycle version v0.11.3
[INFO]  > Using build cache volume 'pack-cache-a930304ae2dd.build'
[INFO] 
[INFO]  > Running creator
[INFO]     [creator]     ===> DETECTING
[INFO]     [creator]     5 of 12 buildpacks participating
[INFO]     [creator]     paketo-buildpacks/ca-certificates 2.3.2
[INFO]     [creator]     paketo-buildpacks/graalvm         6.2.2
[INFO]     [creator]     paketo-buildpacks/executable-jar  5.1.2
[INFO]     [creator]     paketo-buildpacks/spring-boot     4.4.2
[INFO]     [creator]     paketo-buildpacks/native-image    4.1.2
[INFO]     [creator]     ===> ANALYZING
[INFO]     [creator]     PrevIoUs image with name "docker.io/library/configuration.server:0.0.1-SNAPSHOT" not found
[INFO]     [creator]     ===> RESTORING
[INFO]     [creator]     ===> BUILDING
[INFO]     [creator]     
[INFO]     [creator]     Paketo CA Certificates Buildpack 2.3.2
[INFO]     [creator]       https://github.com/paketo-buildpacks/ca-certificates
[INFO]     [creator]       Launch Helper: Contributing to layer
[INFO]     [creator]         Creating /layers/paketo-buildpacks_ca-certificates/helper/exec.d/ca-certificates-helper
[INFO]     [creator]     
[INFO]     [creator]     Paketo GraalVM Buildpack 6.2.2
[INFO]     [creator]       https://github.com/paketo-buildpacks/graalvm
[INFO]     [creator]       Build Configuration:
[INFO]     [creator]         $BP_JVM_VERSION              11.*            the Java version
[INFO]     [creator]       Launch Configuration:
[INFO]     [creator]         $BPL_JVM_HEAD_ROOM           0               the headroom in memory calculation
[INFO]     [creator]         $BPL_JVM_LOADED_CLASS_COUNT  35% of classes  the number of loaded classes in memory calculation
[INFO]     [creator]         $BPL_JVM_THREAD_COUNT        250             the number of threads in memory calculation
[INFO]     [creator]         $JAVA_TOOL_OPTIONS                           the JVM launch flags
[INFO]     [creator]       GraalVM JDK 11.0.11: Contributing to layer
[INFO]     [creator]         Downloading from https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.1.0/graalvm-ce-java11-linux-amd64-21.1.0.tar.gz
[INFO]     [creator]         Verifying checksum
[INFO]     [creator]         Expanding to /layers/paketo-buildpacks_graalvm/jdk
[INFO]     [creator]         Adding 129 container CA certificates to JVM truststore
[INFO]     [creator]       GraalVM Native Image Substrate VM 11.0.11
[INFO]     [creator]         Downloading from https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.1.0/native-image-installable-svm-java11-linux-amd64-21.1.0.jar
[INFO]     [creator]         Verifying checksum
[INFO]     [creator]         Installing substrate VM
[INFO]     [creator]     Processing Component archive: /tmp/1ab725616fede21ad5ae900d00ec6d45753db6f6f4fe51a836d538c79d79614a/native-image-installable-svm-java11-linux-amd64-21.1.0.jar
[INFO]     [creator]     Installing new component: Native Image (org.graalvm.native-image,version 21.1.0)
[INFO]     [creator]         Writing env.build/JAVA_HOME.override
[INFO]     [creator]         Writing env.build/JDK_HOME.override
[INFO]     [creator]     
[INFO]     [creator]     Paketo Executable JAR Buildpack 5.1.2
[INFO]     [creator]       https://github.com/paketo-buildpacks/executable-jar
[INFO]     [creator]       Class Path: Contributing to layer
[INFO]     [creator]         Writing env.build/CLAsspATH.delim
[INFO]     [creator]         Writing env.build/CLAsspATH.prepend
[INFO]     [creator]     
[INFO]     [creator]     Paketo Spring Boot Buildpack 4.4.2
[INFO]     [creator]       https://github.com/paketo-buildpacks/spring-boot
[INFO]     [creator]       Class Path: Contributing to layer
[INFO]     [creator]         Writing env.build/CLAsspATH.append
[INFO]     [creator]         Writing env.build/CLAsspATH.delim
[INFO]     [creator]       Image labels:
[INFO]     [creator]         org.opencontainers.image.title
[INFO]     [creator]         org.opencontainers.image.version
[INFO]     [creator]         org.springframework.boot.version
[INFO]     [creator]     
[INFO]     [creator]     Paketo Native Image Buildpack 4.1.2
[INFO]     [creator]       https://github.com/paketo-buildpacks/native-image
[INFO]     [creator]       Build Configuration:
[INFO]     [creator]         $BP_NATIVE_IMAGE                  true  enable native image build
[INFO]     [creator]         $BP_NATIVE_IMAGE_BUILD_ARGUMENTS        arguments to pass to the native-image command
[INFO]     [creator]       Native Image: Contributing to layer
[INFO]     [creator]         GraalVM 21.1.0 Java 11 CE (Java Version 11.0.11+8-jvmci-21.1-b05)
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]     (clinit):   2,872.18 ms,2.60 GB
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]   (typeflow): 115,047.19 ms,2.60 GB
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]    (objects): 274,851.84 ms,2.60 GB
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]   (features):  11,603.11 ms,2.60 GB
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]     analysis: 409,017.77 ms,2.60 GB
[INFO]     [creator]     [/layers/paketo-buildpacks_native-image/native-image/spring.configuration.server.Application:169]     universe:   5,672.85 ms,2.60 GB
[INFO]     [creator]     Error: Image build request Failed with exit status 137
[INFO]     [creator]     unable to invoke layer creator
[INFO]     [creator]     unable to contribute native-image layer
[INFO]     [creator]     error running build
[INFO]     [creator]     exit status 137
[INFO]     [creator]     ERROR: Failed to build: exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  09:15 min
[INFO] Finished at: 2021-07-18T23:20:49+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.5.2:build-image (default-cli) on project configuration.server: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:2.5.2:build-image Failed: Builder lifecycle 'creator' Failed with status code 145 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors,re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] `enter code here
[ERROR] For more information about the errors and possible solutions,please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。