应用程序构建成功但出现错误:运行映像时出现“没有主清单属性,在 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