执行JAR包,提示.jar中没有主清单属性

maven
修改pom.xml,project 节点中添加如下内容:

如果有问题,注意是不是复制过去后格式问题和含有其它特别字符

    <build>
    <finalName>atcotmp.jar</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>com.atco.App</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
        ...
    </build>

### 解决 Spring Boot JAR 缺少主清单属性 对于 Spring Boot Maven 项目,在打过程中遇到 `.jar` 文件中没有主清单属性的问题,通常是由于 `spring-boot-maven-plugin` 插件配置不正确引起的。为了确保能够成功创建带有主清单属性的可执行 JAR 文件,建议按照以下方式调整 `pom.xml` 文件中的插件配置[^1]。 #### 正确配置 spring-boot-maven-plugin 插件 在 `pom.xml` 文件内的 `<build>` 节点下添加或修改如下所示的 `spring-boot-maven-plugin` 配置: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <!-- 明确指出应用程序启动类 --> <mainClass>com.example.DemoApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 上述代码片段展示了如何通过设置 `<mainClass>` 来指明应用的主要入口类,并利用 `<repackage>` 目标来构建最终的应用程序。这一步骤至关重要,因为只有当这些参数被正确定义之后,Spring Boot 才能在生成的 JAR 文件内写入正确的 MANIFEST.MF 清单条目,从而允许 Java 运行时环境识别并调用相应的主函数[^2]。 另外需要注意的是,如果当前使用的 IDE 自动生成了某些默认配置,则可能需要手动移除不必要的选项(比如 `<skip>true</skip>`),以防止插件功能失效[^3]。 完成以上更改后,再次尝试使用命令 `mvn clean package` 对项目进行编译打操作;随后可以通过 `java -jar target/your-app-name.jar` 测试新生成的 JAR 是否正常工作以及是否含了预期的主清单属性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值