个人解决问题的记录,仅供参考。

一、问题现象

我使用SoringBoot + Gradle 搭建的Java项目,通过Dockerfile 去构建镜像。在执行如下命令时:

 docker run -d -p 8080:8080 --name xxxx imagename:tag

容器不能正常启动运行,通过命令

docker logs 容器ID

查看时,提示

No main manifest attribute,in xxxx.jar

问题原因:因为build.gradle文件缺少了gradle的打包插件

二、解决方式

build.gradle文件中,补充添加 spring-boot-gradle-plugin



apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

buildscript {
   ...
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.3.7.RELEASE")
       ...
    }
}
...

dependencies {
 //框架包
...
}

重新打包制作docker 镜像。

参考文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐