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

Maven打包沒(méi)有指定主類(lèi)問(wèn)題(xxx.jar中沒(méi)有主清單屬性)

 更新時(shí)間:2023年04月11日 08:58:12   作者:啊Abu  
這篇文章主要介紹了Maven打包沒(méi)有指定主類(lèi)問(wèn)題(xxx.jar中沒(méi)有主清單屬性),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Maven打包沒(méi)有指定主類(lèi)

在使用IDEA開(kāi)發(fā)項(xiàng)目的時(shí)候經(jīng)常會(huì)遇到使用Maven打包項(xiàng)目(打成jar包或者zip包),但是之前不太清楚打包插件的使用,有時(shí)候會(huì)遇到在啟動(dòng)jar包的時(shí)候沒(méi)有指定主類(lèi)的錯(cuò)誤(dd-1.0-SNAPSHOT.jar中沒(méi)有主清單屬性)。今天學(xué)習(xí)一下插件使用,寫(xiě)一個(gè)針對(duì)該問(wèn)題的教程。

軟件環(huán)境

  • IDEA:2017.1.5
  • Maven:3.3.9

打xxx.jar包(不包含依賴(lài)的jar包)

Maven可以不添加插件默認(rèn)打jar包,但是如果想要修改默認(rèn)的參數(shù)需要重新引入插件添加需要修改信息。

? 1. 修改pom.xml

<plugin>
? ? <groupId>org.apache.maven.plugins</groupId>
? ? <artifactId>maven-jar-plugin</artifactId>
? ? <version>3.1.0</version>
? ? <configuration>
? ? ? ? <archive>
? ? ? ? ? ? <manifest>
? ? ? ? ? ? ? ? <mainClass>demo.LoadDataMR</mainClass>
? ? ? ? ? ? </manifest>
? ? ? ? </archive>
? ? </configuration>
</plugin>

2.使用Maven工具打包

找到IDEA右邊的【Maven Projects】->【項(xiàng)目名稱(chēng)】->【Lifecycle】

  • a. 先雙擊【clean】查看控制臺(tái)(Run)是否出現(xiàn)BUILD SUCCESS
  • b. 然后雙擊【package】查看控制臺(tái)(Run)是否出現(xiàn)BUILD SUCCESS
  • c. 在IDEA左邊查看【Project】界面會(huì)出現(xiàn)【target】文件夾,打開(kāi)文件夾會(huì)出現(xiàn)xxx.jar包說(shuō)明已經(jīng)構(gòu)建完成。
  • ?d. 打開(kāi)xxx.jar文件,在【META-INF/MANIFEST.MF】文件里面存在Main-Class: demo.LoadDataMR

打xxx-jar-with-dependencies.jar包

1. 修改pom.xml文件

<plugin>
? ? <artifactId>maven-assembly-plugin</artifactId>
? ? <configuration>
? ? ? ? <archive>
? ? ? ? ? ? <manifest>
? ? ? ? ? ? ? ? <mainClass>demo.LoadDataMR</mainClass>
? ? ? ? ? ? </manifest>
? ? ? ? </archive>
? ? ? ? <descriptorRefs>
? ? ? ? ? ? <descriptorRef>jar-with-dependencies</descriptorRef>
? ? ? ? </descriptorRefs>
? ? </configuration>
? ? <!--下面是為了使用 mvn package命令,如果不加則使用mvn assembly-->
? ? <executions>
? ? ? ? <execution>
? ? ? ? ? ? <id>make-assemble</id>
? ? ? ? ? ? <phase>package</phase>
? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? <goal>single</goal>
? ? ? ? ? ? </goals>
? ? ? ? </execution>
? ? </executions>
</plugin>

2.使用Maven工具打包

找到IDEA右邊的【Maven Projects】->【項(xiàng)目名稱(chēng)】->【Lifecycle】

  • a. 先雙擊【clean】查看控制臺(tái)(Run)是否出現(xiàn)BUILD SUCCESS
  • b. 然后雙擊【package】查看控制臺(tái)(Run)是否出現(xiàn)BUILD SUCCESS
  • c. 在IDEA左邊查看【Project】界面會(huì)出現(xiàn)【target】文件夾,打開(kāi)文件夾會(huì)出現(xiàn)xxx.jar包說(shuō)明已經(jīng)構(gòu)建完成。
  • d. 打開(kāi)xxx-jar-with-dependencies.jar文件,在【META-INF/MANIFEST.MF】文件里面存在Main-Class: demo.LoadDataMR

寫(xiě)在后面?

Maven插件配置的信息只能針對(duì)其生成的文件,在maven-jar-plugin插件設(shè)置的信息只會(huì)出現(xiàn)在xxx.jar包中,在maven-assembly-plugin插件設(shè)置的信息只會(huì)出現(xiàn)在xxx-jar-with-dependencies.jar包中

處理maven打包中沒(méi)有主類(lèi)啟動(dòng)的情況

第一步:在pom文件中添加

<!--解決maven打包問(wèn)題-->
?
<plugin>
? ? <groupId>org.apache.maven.plugins</groupId>
? ? <artifactId>maven-shade-plugin</artifactId>
? ? <version>2.3</version>
? ? <executions>
? ? ? ? <execution>
? ? ? ? ? ? <phase>package</phase>
? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? <goal>shade</goal>
? ? ? ? ? ? </goals>
? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? <transformers>
? ? ? ? ? ? ? ? ? ? <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
? ? ? ? ? ? ? ? ? ? ? ? <manifestEntries>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <Main-Class>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? com.xxx.XXApplication
? ? ? ? ? ? ? ? ? ? ? ? ? ? </Main-Class>
? ? ? ? ? ? ? ? ? ? ? ? </manifestEntries>
? ? ? ? ? ? ? ? ? ? </transformer>
? ? ? ? ? ? ? ? ? ? <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
? ? ? ? ? ? ? ? ? ? ? ? <resource>META-INF/spring.handlers</resource>
? ? ? ? ? ? ? ? ? ? </transformer>
? ? ? ? ? ? ? ? ? ? <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
? ? ? ? ? ? ? ? ? ? ? ? <resource>META-INF/spring.schemas</resource>
? ? ? ? ? ? ? ? ? ? </transformer>
? ? ? ? ? ? ? ? </transformers>
? ? ? ? ? ? </configuration>
? ? ? ? </execution>
? ? </executions>
</plugin>

第二步 mvn:clean

第三步 mvn:package

總結(jié)

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

相關(guān)文章

  • 深入了解Java數(shù)據(jù)結(jié)構(gòu)和算法之堆

    深入了解Java數(shù)據(jù)結(jié)構(gòu)和算法之堆

    這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之堆 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接

    Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接

    這篇文章主要介紹了Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java二維碼生成的方法

    java二維碼生成的方法

    這篇文章主要為大家詳細(xì)介紹了java二維碼生成的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java 數(shù)組復(fù)制clone方法實(shí)現(xiàn)詳解

    Java 數(shù)組復(fù)制clone方法實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java 數(shù)組復(fù)制clone方法實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析

    Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析

    這篇文章主要介紹了Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析,在 Java 中,我們使用 JVM 進(jìn)行線(xiàn)程調(diào)度,所以一般來(lái)說(shuō),線(xiàn)程的調(diào)度有兩種模式:分時(shí)調(diào)度和搶占式調(diào)度,線(xiàn)程和進(jìn)程在阻塞或者等待時(shí),都不會(huì)使用 CPU 資源,需要的朋友可以參考下
    2024-01-01
  • java實(shí)現(xiàn)追加內(nèi)容到文件末尾的常用方法分析

    java實(shí)現(xiàn)追加內(nèi)容到文件末尾的常用方法分析

    這篇文章主要介紹了java實(shí)現(xiàn)追加內(nèi)容到文件末尾的常用方法,結(jié)合具體實(shí)例分析了java文件流及寫(xiě)入指針等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • Java Servlet 運(yùn)行原理分析

    Java Servlet 運(yùn)行原理分析

    這篇文章主要介紹了Java Servlet 運(yùn)行原理分析,幫助大家更好的理解和學(xué)習(xí)Java Servlet的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-11-11
  • Java中synchronized的幾種使用方法

    Java中synchronized的幾種使用方法

    本文主要介紹了Java中synchronized的幾種使用方法,synchronized可用于修飾普通方法、靜態(tài)方法和代碼塊,下面詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟

    Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟

    這篇文章主要介紹了Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟,文中通過(guò)圖文結(jié)合的形式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • MyBatis中的配置文件詳解

    MyBatis中的配置文件詳解

    在?MyBatis?中,配置文件分為?全局配置文件(核心配置文件)和映射配置文件,本文給大家介紹MyBatis中的配置文件相關(guān)知識(shí),感興趣的朋友一起看看吧
    2023-10-10

最新評(píng)論

石首市| 栖霞市| 武川县| 大冶市| 九台市| 镇赉县| 信丰县| 镶黄旗| 吕梁市| 古交市| 吴江市| 松桃| 区。| 宁国市| 霍山县| 读书| 汉沽区| 铁岭市| 革吉县| 镇坪县| 哈巴河县| 准格尔旗| 丽江市| 江达县| 安乡县| 肇东市| 葵青区| 防城港市| 许昌县| 博野县| 江达县| 乌兰察布市| 阿城市| 乐东| 安溪县| 德令哈市| 新竹市| 吉林市| 封丘县| 竹北市| 喀喇沁旗|