当前位置: 纯净系统之家 >  win11系统教程 >  win11文件应用属性出错没有注释类

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

更新时间:2024-11-14 16:07:02作者:xiaoliu

  最近在使用Win11系统时,发现了一个关于文件应用属性出错的问题,导致某些XXX.jar文件缺少主清单属性,从而导致主类无法加载的情况,针对这个问题,我们可以通过一些简单的解决方案来解决这个错误,保证文件的正常运行。接下来我们将详细介绍解决方案,帮助大家解决这个烦人的错误。

目录一、问题陈述二、解决方法1、方法一(问题没有真正解决)2、方法二(最终解决了问题)总结一、问题陈述

环境:

Idea 2021jdk1.8

我的是spring boot项目,在pom文件是去掉了parent的标签。使用dependencyManagement标签对spring boot 依赖进行管理。

idea上打包运行java -jar gulimall-member-0.0.1-SNAPSHOT.jar时,报没有主清单属性的错误,完整的报错如下:

MrzhuangdeMacBook-Pro:target mrzhuang$ java -jar gulimall-member-0.0.1-SNAPSHOT.jar gulimall-member-0.0.1-SNAPSHOT.jar中没有主清单属性

二、解决方法

可以参考:Maven指令打包SpringBoot项目提示没有主清单文件

1、方法一(问题没有真正解决)

查阅了网上的解决没有主清单属性办法

提醒:这种方法,对于我的问题没有真正的解决,可能与项目的结构有关。

1.1 点击File -> Project Structure

1.1.1 依次点击artifacts -> “+” -> JAR -> From .....

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

1.1.2 选择模块和主类,注意下面的/main/java需要去掉,点击OK,然后点击apply。

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

1.2 点击菜单栏Build -> Build Artifacts

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

1.2.1 选择想要生成的jar包,点击Build

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

最后在out文件夹中,成功生成了想要的jar包。

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

1.2.2 运行jar包:

虽然解决了没有主清单属性,但是我的又报另一个错误找不到或无法加载主类 。

MrzhuangdeMacBook-Pro:gulimall_member_jar mrzhuang$ java -jar gulimall-member.jar 错误: 找不到或无法加载主类。com.zhuang.gulimall.member.GulimallMemberApplication

1.3 解决找不到或无法加载主类的方法

提示:此方法因项目的结构而异。我的没有解决!

1.3.1 在解决错误:找不到或无法加载主类,也查阅了资料,更多的是在pom文件的mven插件中,增加如下的配置

<configuration>      <mainClass>主类的相对路径</mainClass></configuration>     

的配置。

整体的配置:

<plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <configuration>                    <mainClass>com.zhuang.gulimall.member.GulimallMemberApplication</mainClass>                </configuration>            </plugin>

1.3.2 然后重新Build Artifacts,再次运行out路径下重新生成的jar包。

最终还是报了找不到或无法加载主类 com.zhuang.gulimall.member.GulimallMemberApplication的错误。

2、方法二(最终解决了问题)

在pom文件的maven插件中增加如下的配置:

  <executions>          <execution>                 <goals>                        <goal>repackage</goal>                 </goals>          </execution>   </executions>

完整的:

 <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <executions>                <execution>                    <goals>                        <goal>repackage</goal>                    </goals>                </execution>                </executions>            </plugin>

说明:spring-boot-maven插件的repackage(goal)有如下两个作用:

1、在原始Maven打包形成的jar包基础上,进行重新打包。新形成的jar包不但包含应用类文件和配置文件,而且还会包含应用所依赖的jar包以及Springboot启动相关类(loader等),以此来满足Springboot独立应用的特性;

2、将原始Maven打包的jar重命名为XXX.jar.original作为原始文件;

对项目执行 maven clean package,可以看出在target文件中,生成了.jar包以及.original后缀的原始文件。

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

运行生成的jar包:

win11文件应用属性出错没有注释类 XXX.jar文件缺少主清单属性导致主类无法加载的解决方案

可以看出成功运行了!!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

以上就是win11文件应用属性出错没有注释类的全部内容,碰到同样情况的朋友们赶紧参照小编的方法来处理吧,希望能够对大家有所帮助。

相关教程

copyright ©  2012-2024 纯净系统之家 m.kzmyhome.com 版权声明