xxx.jar中没有主清单属性

出错场景:
使用 IDEA 新建一个web项目,本地运行没问题,打包后执行java -jar web-0.0.1-SNAPSHOT.jar 报错 web-0.0.1-SNAPSHOT.jar中没有主清单属性

解决方案:

错误原因:IDEA默认使用spring-boot-maven-plugin 插件,默认设置 <skip> 为true,这会导致 Spring Boot 插件跳过重新打包 JAR 文件的步骤,进而不生成包含 Main-Class 属性的清单文件。
解决方法:移除或者备注掉就可以了。

 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.github.nan.web.NanWebApplication</mainClass>
                    <!-- <skip>true</skip> --> <!-- 移除或设置为 false -->
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

猜你喜欢

转载自blog.csdn.net/code_nn/article/details/143165092