Maven打包沒有指定主類(xxx.jar中沒有主清單屬性)

寫在前面

​ 在使用IDEA開發項目的時候經常會遇到使用Maven打包項目(打成jar包或者zip包),但是之前不太清楚打包插件的使用,有時候會遇到在啓動jar包的時候沒有指定主類的錯誤(dd-1.0-SNAPSHOT.jar中沒有主清單屬性)。今天學習一下插件使用,寫一個針對該問題的教程。

軟件環境

​ IDEA:2017.1.5

​ Maven:3.3.9

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

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

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】->【項目名稱】->【Lifecycle】

​ a. 先雙擊【clean】查看控制檯(Run)是否出現BUILD SUCCESS

​ b. 然後雙擊【package】查看控制檯(Run)是否出現BUILD SUCCESS

​ c. 在IDEA左邊查看【Project】界面會出現【target】文件夾,打開文件夾會出現xxx.jar包說明已經構建完成。

​ d. 打開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】->【項目名稱】->【Lifecycle】

​ a. 先雙擊【clean】查看控制檯(Run)是否出現BUILD SUCCESS

​ b. 然後雙擊【package】查看控制檯(Run)是否出現BUILD SUCCESS

​ c. 在IDEA左邊查看【Project】界面會出現【target】文件夾,打開文件夾會出現xxx.jar包說明已經構建完成。

​ d. 打開xxx-jar-with-dependencies.jar文件,在【META-INF/MANIFEST.MF】文件裏面存在Main-Class: demo.LoadDataMR

寫在後面

​ Maven插件配置的信息只能針對其生成的文件,在maven-jar-plugin插件設置的信息只會出現在xxx.jar包中,在maven-assembly-plugin插件設置的信息只會出現在xxx-jar-with-dependencies.jar包中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章