这是我近期遇到的一个问题,报错原因就是没找到主类,首先你在你本地运行,本地运行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,意味着执行时跳过这里,所以我在打包时这里没有执行。

Logo

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

更多推荐