当我创建一个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
答案 0 :(得分:1)
使用build.gradle文件中的Shadow Jar库解决此问题。
apply plugin: 'com.github.johnrengelman.shadow'
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'