应用程序构建成功但出现错误:运行映像时出现“没有主清单属性,在 app.jar 中”

Posted

技术标签:

【中文标题】应用程序构建成功但出现错误:运行映像时出现“没有主清单属性,在 app.jar 中”【英文标题】:Application build is successful but getting error: 'no main manifest attribute, in app.jar' while running the image 【发布时间】:2021-11-10 18:18:12 【问题描述】:

我正在尝试在 Docker 上部署我的 Spring Boot 应用程序。我创建了一个docker文件如下。

FROM registry.gitlab.com/client/micro/micro-services/baseimage/database-baseimage/tmo-main:database-baseimage-1.0.1f28a87b

ADD  ./target/*.jar app.jar
ENV TZ=America/Los_Angeles
ENTRYPOINT ["java","-XX:+UnlockExperimentalVMOptions","-XX:+UseContainerSupport","-XX:MaxRAMFraction=1","-XX:+UseG1GC","-jar","app.jar"]
EXPOSE 8080

docker 文件构建良好,但是当我运行映像时,它会引发以下错误:

OpenJDK 64-Bit Server VM warning: Option MaxRAMFraction was deprecated in version 10.0 and will likely be removed in a future release.
no main manifest attribute, in app.jar

请注意,我的应用程序在 JDK 11、maven build 上运行,并且已经添加了 spring-boot-maven-plugin 的依赖项。我在互联网上找不到此查询的适当解决方案。因此请求此错误的原因和解决方案。

【问题讨论】:

这能回答你的问题吗? Can't execute jar- file: "no main manifest attribute" 【参考方案1】:

通过在 spring-boot-maven-plugin 中将执行目标设置为“重新打包”解决了这个问题。

<plugin> 
 <groupId>org.springframework.boot</groupId> 
 <artifactId>spring-boot-maven-plugin</artifactId> 
 <executions> 
  <execution> 
   <goals> 
    <goal>repackage</goal> 
   </goals> 
  </execution> 
 </executions> 
</plugin>

【讨论】:

以上是关于应用程序构建成功但出现错误:运行映像时出现“没有主清单属性,在 app.jar 中”的主要内容,如果未能解决你的问题,请参考以下文章

使用 rust 二进制文件运行 docker 映像时出现权限被拒绝错误

尝试为 iphone 快速构建 tableView 时出现错误

构建应用程序时出现守护程序错误[关闭]

构建 docker 映像时出现问题,运行 dotnet restore:VS2019 中的“No such host is known”,Windows

设置 QEMU 时出现 Github 操作错误 - 错误:无法找到可执行文件:docker

arcmap启动时出现错误 出现一个对话框ARCGIS DESKTOP因遇到严重的应用程序错误而无法继续