最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決java -jar XXX.jar沒(méi)有主清單屬性以及找不到或無(wú)法加載主類(lèi)的問(wèn)題

 更新時(shí)間:2024年09月21日 09:07:06   作者:zhuang先森  
在使用Idea打包SpringBoot項(xiàng)目時(shí),可能會(huì)遇到“沒(méi)有主清單屬性”的錯(cuò)誤,問(wèn)題原因是pom文件中缺少配置,未能正確打包成可執(zhí)行的jar,解決方法包括:1. 修改項(xiàng)目結(jié)構(gòu)并重新生成jar;2. 使用Maven插件在pom文件中添加spring-boot-maven-plugin配置

一、問(wèn)題陳述

環(huán)境:

  • Idea 2021
  • jdk1.8

我的是spring boot項(xiàng)目,在pom文件是去掉了parent的標(biāo)簽,使用dependencyManagement標(biāo)簽對(duì)spring boot 依賴(lài)進(jìn)行管理。

idea上打包運(yùn)行java -jar gulimall-member-0.0.1-SNAPSHOT.jar時(shí),報(bào)沒(méi)有主清單屬性的錯(cuò)誤,完整的報(bào)錯(cuò)如下:

MrzhuangdeMacBook-Pro:target mrzhuang$ java -jar gulimall-member-0.0.1-SNAPSHOT.jar 
gulimall-member-0.0.1-SNAPSHOT.jar中沒(méi)有主清單屬性

二、解決方法

可以參考:Maven指令打包SpringBoot項(xiàng)目提示沒(méi)有主清單文件

1、方法一(問(wèn)題沒(méi)有真正解決)

查閱了網(wǎng)上的解決沒(méi)有主清單屬性辦法

提醒:這種方法,對(duì)于我的問(wèn)題沒(méi)有真正的解決,可能與項(xiàng)目的結(jié)構(gòu)有關(guān)。

1.1 點(diǎn)擊File -> Project Structure

1.1.1 依次點(diǎn)擊artifacts -> “+” -> JAR -> From .....

1.1.2 選擇模塊和主類(lèi),注意下面的/main/java需要去掉,點(diǎn)擊OK,然后點(diǎn)擊apply。

1.2 點(diǎn)擊菜單欄Build -> Build Artifacts

1.2.1 選擇想要生成的jar包,點(diǎn)擊Build

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

1.2.2 運(yùn)行jar包:

雖然解決了沒(méi)有主清單屬性,但是我的又報(bào)另一個(gè)錯(cuò)誤找不到或無(wú)法加載主類(lèi) 。

MrzhuangdeMacBook-Pro:gulimall_member_jar mrzhuang$ java -jar gulimall-member.jar 錯(cuò)誤: 找不到或無(wú)法加載主類(lèi)。com.zhuang.gulimall.member.GulimallMemberApplication

1.3 解決找不到或無(wú)法加載主類(lèi)的方法

提示:此方法因項(xiàng)目的結(jié)構(gòu)而異。我的沒(méi)有解決!

1.3.1 在解決錯(cuò)誤:找不到或無(wú)法加載主類(lèi),也查閱了資料,更多的是在pom文件的mven插件中,增加如下的配置

<configuration>
      <mainClass>主類(lèi)的相對(duì)路徑</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,再次運(yùn)行out路徑下重新生成的jar包。

最終還是報(bào)了找不到或無(wú)法加載主類(lèi) com.zhuang.gulimall.member.GulimallMemberApplication的錯(cuò)誤。

2、方法二(最終解決了問(wèn)題)

在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>

說(shuō)明:spring-boot-maven插件的repackage(goal)有如下兩個(gè)作用:

1、在原始Maven打包形成的jar包基礎(chǔ)上,進(jìn)行重新打包,新形成的jar包不但包含應(yīng)用類(lèi)文件和配置文件,而且還會(huì)包含應(yīng)用所依賴(lài)的jar包以及Springboot啟動(dòng)相關(guān)類(lèi)(loader等),以此來(lái)滿(mǎn)足Springboot獨(dú)立應(yīng)用的特性;

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

對(duì)項(xiàng)目執(zhí)行 maven clean package,可以看出在target文件中,生成了.jar包以及.original后綴的原始文件。

運(yùn)行生成的jar包:

可以看出成功運(yùn)行了?。。?/p>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

丰城市| 垫江县| 读书| 丰台区| 龙胜| 平安县| 鄂尔多斯市| 闻喜县| 宁国市| 于都县| 中牟县| 洛隆县| 周宁县| 和田县| 鄢陵县| 呼和浩特市| 交口县| 南宁市| 永吉县| 阳朔县| 平安县| 贡山| 陆丰市| 张家口市| 柳州市| 克东县| 桐乡市| 安图县| 伊金霍洛旗| 长子县| 乐都县| 唐河县| 商都县| 红桥区| 松滋市| 新河县| 玛曲县| 聊城市| 车致| 华容县| 军事|