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

解決java -jar XXX.jar沒有主清單屬性以及找不到或無法加載主類的問題

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

一、問題陳述

環(huán)境:

  • Idea 2021
  • jdk1.8

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

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

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

二、解決方法

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

1、方法一(問題沒有真正解決)

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

提醒:這種方法,對(duì)于我的問題沒有真正的解決,可能與項(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 選擇模塊和主類,注意下面的/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包:

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

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

1.3 解決找不到或無法加載主類的方法

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

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

<configuration>
      <mainClass>主類的相對(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)了找不到或無法加載主類 com.zhuang.gulimall.member.GulimallMemberApplication的錯(cuò)誤。

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)有如下兩個(gè)作用:

1、在原始Maven打包形成的jar包基礎(chǔ)上,進(jìn)行重新打包,新形成的jar包不但包含應(yīng)用類文件和配置文件,而且還會(huì)包含應(yīng)用所依賴的jar包以及Springboot啟動(dòng)相關(guān)類(loader等),以此來滿足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)行了!??!

總結(jié)

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

相關(guān)文章

最新評(píng)論

镇康县| 辽阳市| 阜康市| 贡山| 香港| 金昌市| 凤凰县| 资阳市| 安庆市| 盱眙县| 和田县| 山阳县| 南陵县| 都兰县| 库车县| 汉源县| 怀仁县| 南乐县| 鄂托克前旗| 三明市| 彭州市| 塔河县| 滕州市| 绥阳县| 微山县| 广灵县| 大石桥市| 京山县| 普陀区| 大余县| 信宜市| 白城市| 诸城市| 宜城市| 大渡口区| 凤庆县| 仁怀市| 汕尾市| 邯郸市| 平山县| 迭部县|