运行Spring Boot应用程序的jar文件时出错

时间:2019-10-20 07:06:55

标签: spring-boot docker devops

当我创建一个jar文件时,它将被创建,但是当我运行一个jar文件时,它将显示类似的错误,当我创建一个docker文件时,将被创建,但当我运行一个docker文件时,它将显示错误。


jar {
    baseName = "${project.jarName}"
    version = "${project.versionName}"
    enabled = true
    manifest {
        attributes 'Main-Class': 'com.exmaple.Application'
    }

}


task buildDocker(type: Docker, dependsOn: build) {
    push = false
    applicationName = jar.baseName
    tagVersion = jar.version
    dockerfile = file('src/main/docker/Dockerfile')
    doFirst {
        copy {
            from jar
            into stageDir
        }
        copy {
            from "${project.buildDir}/resources/main/run.sh"
            into stageDir
        }
    }
}
  

错误。

线程“ main”中的异常java.lang.NoClassDefFoundError:org / springframework / boot / SpringApplication     在com.example.Application.main(Application.java:19) 引起原因:java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication

1 个答案:

答案 0 :(得分:1)

使用build.gradle文件中的Shadow Jar库解决此问题。

apply plugin: 'com.github.johnrengelman.shadow'

classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'