java - Docker容器启动时找不到jar中api-rest的主类

标签 java spring-boot docker gradle jar

我用 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 文件。附加图像

enter image description here

关于java - Docker容器启动时找不到jar中api-rest的主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283878/

相关文章:

java - 如何更改服务器上使用的谷歌应用程序引擎的版本

java swing jtable - 显示每行的行索引

java - intellij - spring-boot 未被识别(未映射的 Spring-boot 注释配置类)

我的 homestead docker 容器中缺少 Mysql 套接字

docker-compose 没有启动 postgres 并给出错误

angular - npm run 不通过 --configuration 来构建任务

java - 为什么 Akka 保留所有这些线程?

java - 使用 SonarQube Scanner 分析 java 代码时出错

java - 如何在 spring data JPA 中制作多个保存方法?

Spring Boot 镜像上传和服务