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

jar運(yùn)行報(bào)錯(cuò)no main manifest attribute原因分析及解決

 更新時(shí)間:2026年04月14日 15:15:53   作者:西涼的悲傷  
文章主要討論了在使用`java -jar`命令運(yùn)行jar包時(shí)遇到的“nomainmanifestattribute”錯(cuò)誤,并提供了可能的解決方案,包括檢查pom.xml配置,添加打包插件配置,以及使用IDEA進(jìn)行打包等方法

jar運(yùn)行報(bào)錯(cuò)no main manifest attribute

在服務(wù)器上運(yùn)行:

java -jar test-0.0.1-SNAPSHOT.jar

報(bào)錯(cuò):

no main manifest attribute, in test-0.0.1-SNAPSHOT.jar

原因

原因是找不到主類。

一般情況下,java 打包成 jar 包需要在 MANIFEST.MF 中指定 Main-Class項(xiàng),以便運(yùn)行 java -jar xxx.jar 時(shí)找到對(duì)應(yīng)的主類。

將test-0.0.1-SNAPSHOT.jar解壓后

查看META-INF下的MANIFEST.MF

而正常的應(yīng)該是這樣的:

解決

1.檢查 maven 項(xiàng)目中的 pom.xml 中有沒(méi)有缺少如下配置,缺少的話加上

<packaging>jar</packaging>

2.在 pom.xml 中的 build 標(biāo)簽下的 plugins 標(biāo)簽下加入如下打包插件配置

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.0</version>
                <configuration>
                    <mainClass>com.xtool.manager.MainDemo</mainClass>
                    <finalName>XTool</finalName>
					 <includes>
                            <include>
                                <groupId>nothing</groupId>
                                <artifactId>nothing</artifactId>
                            </include>
                     </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

說(shuō)明:

  • mainClass 標(biāo)簽里是你的項(xiàng)目的啟動(dòng)類的包路徑,如果你的項(xiàng)目沒(méi)有有啟動(dòng)類也不需要通過(guò) java -jar 運(yùn)行的話可以刪除 mainClass
  • finalName 標(biāo)簽里的就是打出來(lái)的 jar 名,我這里是 XTool ,最終生成的就是 XTool.jar 。若不使用 finalName 指定,則打包生成的 jar 包名默認(rèn)使用 pom.xml 文件里 artifactId 標(biāo)簽和 version 標(biāo)簽里的值作為 jar 的名。
  • 如果你希望最終生成的 jar 包不包含第三方依賴那直接用上面的插件配置即可。如果希望最終生成的 jar 包里包含第三方依賴那就刪除 includes 標(biāo)簽及其里面的內(nèi)容

3.在 idea 右邊側(cè)邊欄的 Maven 選項(xiàng)卡里點(diǎn)擊 Lifecyle 下的 package 就可以開(kāi)始打包了

最終生成的 jar 包就在 target 目錄下

如果使用這種打包方式問(wèn)題任然存在,可以嘗試使用 idea 來(lái)打包,可參考我另一篇文章:idea 項(xiàng)目代碼打包為jar包

總結(jié)

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

相關(guān)文章

  • Java設(shè)計(jì)模式之責(zé)任鏈模式的概念、實(shí)現(xiàn)以及netty中的責(zé)任鏈模式

    Java設(shè)計(jì)模式之責(zé)任鏈模式的概念、實(shí)現(xiàn)以及netty中的責(zé)任鏈模式

    這篇文章主要給大家介紹了關(guān)于設(shè)計(jì)模式之責(zé)任鏈模式的概念、實(shí)現(xiàn)以及netty中的責(zé)任鏈模式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 通過(guò)實(shí)例解析JMM和Volatile底層原理

    通過(guò)實(shí)例解析JMM和Volatile底層原理

    這篇文章主要介紹了通過(guò)實(shí)例解析JMM和Volatile底層原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • springboot項(xiàng)目打docker鏡像實(shí)例(入門(mén)級(jí))

    springboot項(xiàng)目打docker鏡像實(shí)例(入門(mén)級(jí))

    最近做個(gè)項(xiàng)目,我們想把自己的程序打包成鏡像,并運(yùn)行在docker容器中,本文主要介紹了springboot項(xiàng)目打docker鏡像實(shí)例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • idea?compile項(xiàng)目正常啟動(dòng)項(xiàng)目的時(shí)候build失敗報(bào)“找不到符號(hào)”等問(wèn)題及解決方案

    idea?compile項(xiàng)目正常啟動(dòng)項(xiàng)目的時(shí)候build失敗報(bào)“找不到符號(hào)”等問(wèn)題及解決方案

    這篇文章主要介紹了idea?compile項(xiàng)目正常,啟動(dòng)項(xiàng)目的時(shí)候build失敗,報(bào)“找不到符號(hào)”等問(wèn)題,這種問(wèn)題屬于lombok編譯失敗導(dǎo)致,可能原因是依賴jar包沒(méi)有更新到最新版本,需要的朋友可以參考下
    2023-10-10
  • Java 中Object的wait() notify() notifyAll()方法使用

    Java 中Object的wait() notify() notifyAll()方法使用

    這篇文章主要介紹了Java 中Object的wait() notify() notifyAll()方法使用的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • SpringBoot異步導(dǎo)出文件的實(shí)現(xiàn)步驟

    SpringBoot異步導(dǎo)出文件的實(shí)現(xiàn)步驟

    本文主要介紹了SpringBoot異步導(dǎo)出文件的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09
  • Java中編譯期異常和運(yùn)行期異常的區(qū)別解析

    Java中編譯期異常和運(yùn)行期異常的區(qū)別解析

    Java中的異常分為運(yùn)行期異常(RuntimeException)和編譯期異常(CheckedException),前者不強(qiáng)制處理,后者必須顯式處理,本文介紹Java中編譯期異常和運(yùn)行期異常的區(qū)別,感興趣的朋友一起看看吧
    2025-02-02
  • 教你用JAVA寫(xiě)文本編輯器(二)

    教你用JAVA寫(xiě)文本編輯器(二)

    之前介紹了JAVA寫(xiě)文本編輯器的基本思路,下面這篇文章就來(lái)給大家介紹了關(guān)于用JAVA寫(xiě)文本編輯器的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Java 集合去重的三種方法

    Java 集合去重的三種方法

    本主要介紹了Java 集合去重的三種方法,包含HashSet,Stream API和手動(dòng)遍歷并使用Map三種,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java數(shù)組判斷是否越界的示例代碼

    Java數(shù)組判斷是否越界的示例代碼

    在Java編程中,避免數(shù)組越界是十分重要的,本文介紹了兩種常見(jiàn)的判斷數(shù)組是否越界的方法:一是通過(guò)數(shù)組的length屬性來(lái)判斷索引是否合法;二是通過(guò)捕獲ArrayIndexOutOfBoundsException異常來(lái)處理越界問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評(píng)論

石屏县| 远安县| 朝阳县| 晴隆县| 潜山县| 仙居县| 贺州市| 隆尧县| 余江县| 泊头市| 巩义市| 日喀则市| 怀柔区| 鄂伦春自治旗| 日土县| 广东省| 南陵县| 临夏市| 通河县| 开远市| 远安县| 无极县| 蕉岭县| 华阴市| 夹江县| 黄龙县| 芷江| 辉南县| 洛宁县| 天等县| 和龙市| 罗田县| 九龙城区| 江阴市| 平谷区| 尼玛县| 桑日县| 腾冲县| 巴楚县| 通山县| 同江市|