解决Linux部署报错No main manifest attribute, in XXX.jar

这是我近期遇到的一个问题,报错原因就是没找到主类,首先你在你本地运行,本地运行ok的话,解压生成的jar包,里面有个META-INF 文件,打开**MANIFEST.MF文件,**该文件是一个清单文件。该文件包含有关JAR文件中的内容的信息,包括入口点,。找主类(main方法的类)就是去这个文件中找的。

MANIFEST.MF文件 内容如下所示,如果你用了Maven管理项目,大概率是你的pom.xml文件的org.apache.maven.plugins没设置好。导致找不到启动类。

MANIFEST.MF正常文件内容应如下:

解决办法:

复制代码
<build>
        <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>2.6.13</version>
                <configuration>
                    <mainClass>com.example.demo.BooksystemApplication</mainClass>
<!--                    <skip>true</skip>-->   
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

skip为true,意味着执行时跳过这里,所以我在打包时这里没有执行。

相关推荐
葡萄成熟时 !16 小时前
黑马学生管理系统
java·开发语言
沐浴露z16 小时前
为什么使用SpringAI时通常用Builder来创建对象?详解 【Builder模式】和【直接 new】的区别
java·python·建造者模式
阿杰真不会敲代码16 小时前
Filter与Interceptor深度解析:分清这两个“拦截器”,面试不再掉坑
java·spring boot·面试
带刺的坐椅17 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
java·ai·solon
客梦17 小时前
Java 道路信息系统
java·笔记
k***19518 小时前
Tomcat的升级
java·tomcat
j***495619 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
草莓熊Lotso19 小时前
unordered_map/unordered_set 使用指南:差异、性能与场景选择
java·开发语言·c++·人工智能·经验分享·python·网络协议
20岁30年经验的码农21 小时前
Spring Cloud Gateway 网关技术文档
java