我用 gradle 构建了一个 spring-boot api 的 jar,但启动 docker 容器后它会自行停止并记录“错误:无法找到或加载主类 com.test.exampleController”
这是一个 Docker 项目
我将此代码插入到我的 build.gradle 中:
task fatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'com.test.exampleController'
}
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
我不确定我是否需要在类里面进行一些注释,或者问题是否是因为我有 3 个 Controller
我希望使用 spring-boot api 运行一个 docker 容器,并使用其他应用程序(例如 postman )对其进行测试
最佳答案
最后我发现了错误,我尝试使用不正确的启动器构建 jar。在 gradle 选项卡中,我可以找到任务,在构建中,其他人之间出现“jar”,这是我的错误,我在想“如果我想要一个 jar,这就是我的任务”,但不是,我想要一个 springboot 的 jar,这意味着我需要那个 jar 有主类和启动器。为此,我的任务中存在另一个选项“bootjar”。构建一个包含主类定义和启动类的 list 文件。附加图像
关于java - Docker容器启动时找不到jar中api-rest的主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283878/