spring-boot - Gradle 4.7构建抛出错误执行任务bootRepackage

标签 spring-boot gradle groovy build.gradle

在我现有的 spring boot 项目 中执行 gradle build 命令时,该项目/正在使用旧版本的 Gradle 构建良好(例如:3.4.*)。

但是在我使用 SDK 将 Gradle 升级到最新版本 (4.7) 后,它在构建时开始抛出错误。

配置列表:

------------------------------------------------------------
Gradle 4.7
------------------------------------------------------------

Build time:   2018-04-18 09:09:12 UTC
Revision:     b9a962bf70638332300e7f810689cb2febbd4a6c

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Linux 3.16.0-4-amd64 amd64

Spring Boot 详细信息:

springBootVersion = '1.5.1.RELEASE'
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"

build.gradle 注意:我无法发布整个构建文件。所以给出一些导入行来分析。

buildscript {
ext {
    springBootVersion = '1.5.1.RELEASE'
}
repositories {
    mavenCentral()
    jcenter()
}
dependencies {
    classpath "org.springframework.boot:spring-boot-gradle-    plugin:${springBootVersion}"
}
}

subprojects {
apply plugin: 'groovy'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
apply plugin: 'war'
apply plugin: 'org.sonarqube'

// make sure bootRepackage is included in task graph
project.tasks.findAll { it.name.startsWith("artifactory") } .each { it.dependsOn assemble }

// so we can maintain both "normal" and "boot" jars
springBoot {
    classifier = 'boot' 
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            // from components.java

            // "boot" jar
            artifact ("$buildDir/libs/${project.name}-${version}-boot.war") { 
                classifier = 'boot' 
            }
        }
    }
}

def profiles = 'development'

bootRun {
    args = [
        "--spring.profiles.active=" + profiles
    ]
}

defaultTasks 'bootRun'

// Other tasks and dependency list 
 }

命令行输出:

gradle build

Task :test-service:bootRepackage FAILED 

> FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test-service:bootRepackage'.
> Unable to find main class

* 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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.7/userguide/command_line_interface.html#sec:command_line_warnings

最佳答案

Spring Boot 1.5.x only supports Gradle 2 (2.9 or later) and Gradle 3 .不支持 Gradle 4。

您可以坚持使用 Gradle 3.x 或升级到支持 Gradle 4 的 Spring Boot 2.0.x。

关于spring-boot - Gradle 4.7构建抛出错误执行任务bootRepackage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50129221/

相关文章:

groovy - 如何在gradle中包括 “global”文件

java - 如何在 Groovy 中设置最后一个字段

java - 将多个子dto设计成一个请求spring boot

java - Spring Boot 应用程序 + Jolokia - 启动期间出现异常

Reactjs Axios/Spring 启动安全

android - Flutter:在根项目 'assembleStageDebug' 中找不到任务 'android'

groovy - 发布工件覆盖Gradle中的其他工件

java - 如何注入(inject)spring boot的SpringApplication的mainApplicationClass?

javascript - React-Native assembleRelease 任务 ':app:bundleReleaseJsAndAssets' 失败

spring-boot - 在 Spring Boot 中编译项目时执行 Gradle 任务