java - Spring native 应用程序构建失败并出现构建回溯

标签 java spring spring-native

我正在尝试运行在 here 上共享的非常基本的应用程序

我能够让构建运行,但最终失败并出现以下错误:

    [creator]     Paketo BellSoft Liberica Buildpack 9.0.1
    [creator]       unable to find dependency
    [creator]       no valid dependencies for native-image-svm, 8.*, and io.paketo.stacks.tiny in [(jdk, 8.0.312, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (jre, 8.0.312, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (jdk, 11.0.13, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (jre, 11.0.13, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (native-image-svm, 11.0.13, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (jdk, 17.0.1, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (jre, 17.0.1, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *]) (native-image-svm, 17.0.1, [io.buildpacks.stacks.bionic io.paketo.stacks.tiny *])]
    [creator]     ERROR: failed to build: exit status 1

这是我的 build.gradle :

plugins {
        id 'org.springframework.boot' version '2.6.2'
        id 'io.spring.dependency-management' version '1.0.11.RELEASE'
        id 'java'
        id 'org.springframework.experimental.aot' version '0.11.1'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'


repositories {
        mavenCentral()
        maven { url 'https://repo.spring.io/release' }

}

dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        testImplementation('org.springframework.boot:spring-boot-starter-test')
}

test {
        useJUnitPlatform()
}

bootBuildImage {
    builder = "paketobuildpacks/builder:tiny"
    environment = [
        "BP_NATIVE_IMAGE" : "true"
    ]
    buildpacks = ["gcr.io/paketo-buildpacks/java-native-image:7.1.0"]
}

如果能帮助我解决这个问题,我将不胜感激。

最佳答案

所以我设法解决了它。源兼容性设置为 1.8,可能 Java 8 与 paketo buildback 不兼容。

build.gradle 中的 sourceCompatibility 升级到 11 或 17 可解决问题:

sourceCompatibility = '11'

// or

sourceCompatibility = '17'

关于java - Spring native 应用程序构建失败并出现构建回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70843903/

相关文章:

Java将系统输出重定向到jtextarea,直到计算完成才更新

java - EAR 文件需要有一个包含所有 jar 的 list 吗?

Spring:@PreAuthorize 是否优先于 @Cacheable?

spring - 如何从 spring-data mongodb 扩展 SimpleMongoRepository?

启用 spring sleuth 时 Spring boot native 应用程序无法启动 - invalidStateException BraveAutoConfiguration

docker - 将 Spring Native 与自定义 Docker 注册表结合使用

java - 如何操作 JComboBox - Java。 (鼠标监听器)

java - 向 StackPane 添加节点问题?

java - 在 Hibernate 中比较两个对象的问题

javafx - 使用 Quarkus 或 Springboot 和 JavaFx 进行 native 可执行文件