最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

修復(fù) Spring no main manifest 屬性

2023-02-28 17:32 作者:風(fēng)中的瀟瀟醬  | 我要投稿
  1. 概述

每當(dāng)我們?cè)?Spring Boot 可執(zhí)行 jar 中遇到*“no main manifest 屬性”*消息時(shí),都是因?yàn)槲覀內(nèi)鄙傥募?MANIFEST 中 Main-Class 元數(shù)據(jù)屬性的聲明*。MF,位于?*META-INF 文件夾下。

在這個(gè)簡短的教程中,我們將介紹問題的原因以及如何解決它。

2. 問題發(fā)生時(shí)

一般來說,如果我們從Spring Initializr中獲取我們的*pom*,我們不會(huì)有任何問題。但是,如果我們通過將 spring-boot-starter-parent 添加到我們的 pom.xml 來手動(dòng)構(gòu)建我們的項(xiàng)目,我們可能會(huì)遇到這個(gè)問題。我們可以通過嘗試 jar 的干凈構(gòu)建來復(fù)制它:

$ mvn clean package

運(yùn)行 jar 時(shí)會(huì)遇到錯(cuò)誤:

$ java -jar target\spring-boot-artifacts-2.jarno main manifest attribute, in target\spring-boot-artifacts-2.jar

在此示例中,清單的內(nèi)容。MF 文件是:

Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven 3.6.3 Built-By: Baeldung Build-Jdk: 11.0.13

3. 使用 Maven 插件修復(fù)

3.1. 添加插件

在這種情況下,最常見的問題是我們錯(cuò)過了將 spring-boot-maven-plugin 聲明添加到我們的 pom.xml 文件中。

讓我們將插件定義添加到我們的pom中.xml在插件標(biāo)簽下使用Main-Class聲明:

<plugins> ? ?<plugin> ? ? ? ?<groupId>org.springframework.boot</groupId> ? ? ? ?<artifactId>spring-boot-maven-plugin</artifactId> ? ? ? ?<configuration> ? ? ? ? ? ?<mainClass>com.baeldung.demo.DemoApplication</mainClass> ? ? ? ? ? ?<layout>JAR</layout> ? ? ? ?</configuration> ? ?</plugin> </plugins>

但是,這可能不足以解決我們的問題。重建并運(yùn)行我們的 jar 后,我們可能仍然會(huì)收到*“無主清單屬性”*消息。

讓我們看看我們有什么額外的配置和替代方案來解決這個(gè)問題。

3.2. Maven插件執(zhí)行目標(biāo)

讓我們將重新打包*目標(biāo)添加到 *spring-boot-maven-plugin 聲明中,緊跟在配置標(biāo)記之后:

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

3.3. Maven 屬性和內(nèi)聯(lián)命令執(zhí)行目標(biāo)

或者,將屬性?start-class?添加到我們的?pom.xml?文件的屬性標(biāo)簽中,可以在構(gòu)建過程中獲得更大的靈活性

<properties> ? ?<start-class>com.baeldung.demo.DemoApplication</start-class> </properties>

現(xiàn)在,我們必須使用 Maven 內(nèi)聯(lián)命令 spring-boot:repackage 執(zhí)行目標(biāo)來構(gòu)建 jar:

$ mvn package spring-boot:repackage

4. 檢查清單。MF?文件內(nèi)容

讓我們應(yīng)用我們的解決方案,構(gòu)建 jar,然后檢查清單。MF 文件。

我們注意到主類和起始類屬性的存在:

Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven 3.6.3 Built-By: Baeldung Build-Jdk: 11.0.13 Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: com.baeldung.demo.DemoApplication Spring-Boot-Version: 2.7.5 Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Spring-Boot-Layers-Index: BOOT-INF/layers.idx

現(xiàn)在執(zhí)行 jar,*“無主清單屬性”*消息問題不再顯示,并且應(yīng)用程序運(yùn)行。

5. 結(jié)論

在本文中,我們看到了如何在執(zhí)行 Spring Boot 可執(zhí)行 jar 時(shí)解決*“無主清單屬性”*消息。

我們看到了如何從手動(dòng)創(chuàng)建的pom.xml文件中獲得這一點(diǎn),以及如何添加和配置Spring Maven插件來修復(fù)它。

與往常一樣,示例代碼可在 GitHub 上找到。


修復(fù) Spring no main manifest 屬性的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
淮北市| 泗水县| 来凤县| 萝北县| 长宁县| 镇平县| 绥芬河市| 遂川县| 鄂尔多斯市| 凤凰县| 双流县| 德兴市| 剑川县| 汝城县| 漾濞| 鲜城| 五家渠市| 健康| 福海县| 宿州市| 海兴县| 夏邑县| 宝坻区| 隆尧县| 宜丰县| 兴安县| 基隆市| 宣汉县| 青铜峡市| 县级市| 阳春市| 东源县| 古交市| 大宁县| 夏河县| 江城| 威远县| 育儿| 望江县| 平阳县| 赫章县|