Spring Boot 启动时 “jar中没有主清单属性” 异常

当我们在执行 Spring Boot JAR 文件时候,可能会遇到 “jar中没有主清单属性”(no main manifest attribute)错误。这是因为我们在 MANIFEST.MF 文件中缺少了 Main-Class 元数据属性的声明,该文件位于 META-INF 文件夹下,用压缩工具打开jar包可以看见。

1、添加插件

在 pom.xml 中添加 plugin 标签,并在 plugin 下声明 Main-Class

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <mainClass>com.baeldung.demo.DemoApplication</mainClass>
            <layout>JAR</layout>
        </configuration>
    </plugin>
</plugins>

2、Maven Plugin Execution Goal

在上图的 configuration 标签下添加 repackage goal

<executions>
    <execution>
        <goals>
            <goal>repackage</goal>
        </goals>
    </execution>
</executions>

3、Maven properties 和内联命令 Execution Goal

在 pom.xml 文件的 properties 标签中添加 start-class 属性

<properties>
    <start-class>com.baeldung.demo.DemoApplication</start-class>
</properties>

使用 Maven 内联命令 spring-boot:repackage 来构建 jar

mvn package spring-boot:repackage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值