如何修复spring-boot-gradle-plugin:3.0.0版本的问题?[duplicate]

qyuhtwio  于 2022-11-29  发布在  Spring
关注(0)|答案(1)|浏览(1537)

此问题已存在

Deployed spring boot app on heroku successfully but getting 503
1小时前关闭。
我正在使用gitlab ci/cd在heroku上部署spring boot应用程序
我正在使用spring boot 3.0.0java 17
有人知道如何修复它吗?同样在第8行,它是-----> Installing OpenJDK 1.8... done,我不知道为什么,甚至我有java 17在应用程序

Deploying application
uploading application archive
triggering new deployment
-----> Building on the Heroku-22 stack
-----> Determining which buildpack to use for this app
-----> Gradle app detected
-----> Spring Boot detected
-----> Installing OpenJDK 1.8... done
-----> Building Gradle app...
-----> executing ./gradlew build -x check
       Downloading https://services.gradle.org/distributions/gradle-7.5.1-bin.zip
       ...........10%............20%...........30%............40%...........50%............60%...........70%............80%...........90%............100%
       To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.5.1/userguide/gradle_daemon.html#sec:disabling_the_daemon.
       Daemon will be stopped at the end of the build 
       
       FAILURE: Build failed with an exception.
       
       * What went wrong:
       A problem occurred configuring root project 'auth'.
       > Could not resolve all files for configuration ':classpath'.
          > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.0.
            Required by:
                project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.0
             > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.0 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.5.1' but:
                 - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.0 declares a library, packaged as a jar, and its dependencies declared externally:
                     - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8
                     - Other compatible attribute:
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
                 - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.0 declares a runtime of a component, and its dependencies declared externally:
                     - Incompatible because this component declares documentation and the consumer needed a library
                     - Other compatible attributes:
                         - Doesn't say anything about its target Java version (required compatibility with Java 8)
                         - Doesn't say anything about its elements (required them packaged as a jar)
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
                 - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.0 declares a library, packaged as a jar, and its dependencies declared externally:
                     - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8
                     - Other compatible attribute:
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
                 - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.0 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
                     - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8
                     - Other compatible attribute:
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
                 - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.0 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
                     - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8
                     - Other compatible attribute:
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
                 - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.0 declares a runtime of a component, and its dependencies declared externally:
                     - Incompatible because this component declares documentation and the consumer needed a library
                     - Other compatible attributes:
                         - Doesn't say anything about its target Java version (required compatibility with Java 8)
                         - Doesn't say anything about its elements (required them packaged as a jar)
                         - Doesn't say anything about org.gradle.plugin.api-version (required '7.5.1')
       
       * Try:
       > Run with --stacktrace option to get the stack trace.
       > Run with --info or --debug option to get more log output.
       > Run with --scan to get full insights.
       
       * Get more help at https://help.gradle.org
       
       BUILD FAILED in 9s
 !     ERROR: Failed to run Gradle!
       We're sorry this build is failing. If you can't find the issue in application
       code, please submit a ticket so we can help: https://help.heroku.com
       You can also try reverting to the previous version of the buildpack by running:
       $ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-gradle#previous-version
       
       Thanks,
       Heroku
kupeojn6

kupeojn61#

您可能在本地使用Java 17,但在Heroku上使用的是Java 8。这是默认设置:
Heroku当前默认使用OpenJDK 8运行您的应用。也可以使用其他OpenJDK版本。根据您选择的OpenJDK版本,每次部署应用时将使用该JDK的最新可用版本。
您需要显式请求正确的Java版本。

java.runtime.version=17

然后提交并重新部署。

相关问题