Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle 4.7 build throw error executing task bootRepackage

While executing gradle build command in my existing spring boot project which was / is building fine with older version of Gradle (For ex: 3.4.*).

But after I upgraded Gradle to latest version (4.7) using SDK, its started throw error while building.

Config List:

------------------------------------------------------------
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 Details:

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

build.gradle Note: I can't publish whole build file. So giving some import lines to analyse.

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 
 }

Output from Command Line:

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
like image 717
Satz Avatar asked Dec 07 '25 06:12

Satz


2 Answers

Spring Boot 1.5.x only supports Gradle 2 (2.9 or later) and Gradle 3. Gradle 4 is not supported.

You could either stick with Gradle 3.x or upgrade to Spring Boot 2.0.x which does support Gradle 4.

like image 97
Andy Wilkinson Avatar answered Dec 09 '25 19:12

Andy Wilkinson


The error clearly states that -

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

Please check if you have entry similar in your build.gradle

apply plugin: 'application'

mainClassName = 'com.my.MyApplication' // your application main class goes here
like image 44
Karthik R Avatar answered Dec 09 '25 20:12

Karthik R



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!