中文是:在app.jar中没有主清单属性

背景:单独package module的app.jar,使用java -jar app.jap,报错no main manifest attribute, in app.jar。
在启动类对应的pom中加入以下内容

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.example.demo.Demo1Application</mainClass>   // 根据自己的启动类进行修改,必须要有这个<mainClass>,不然打包会出错
                    <layout>JAR</layout>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

多说一点

在多module管理的项目中如果,A module 引用了B module,在A进行package的时候,可能会报错无法找到B中的内容。这种情况需要再B module 的pom中加上配置<classifier>exec</classifier>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <classifier>exec</classifier>   // 加上这个exec配置
                </configuration>
            </plugin>

更详细的内容,在这篇大佬博客中有分析
https://blog.csdn.net/agonie201218/article/details/110958570

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐