Maven提示:有关可执行jar的所有信息
Maven提示:有關(guān)可執(zhí)行jar的所有信息
在分發(fā)代碼時,可執(zhí)行jar是非常有用的工具。 這意味著,只要將Java安裝在客戶端計算機(jī)上,至少在Windows和Mac上,您的用戶只需雙擊jar即可啟動程序。 另外,在命令行上,可以使用簡單的命令行java -jar xxx.jar輕松啟動程序。
不用大驚小怪的類路徑和相關(guān)的罐子。
從Maven創(chuàng)建可執(zhí)行jar很簡單,涉及使用maven-assembly-plugin 。 可以如下配置并添加到您的pom.xml中:
<plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>com.example.Main</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><phase>install</phase><goals><goal>single</goal></goals></execution></executions></plugin>讓我們深入研究細(xì)節(jié):
 <goal>single<goal>告訴插件我們要執(zhí)行單個目標(biāo)。 有關(guān)更多文檔,請參見此處 。 
 <phase>install<phase>告訴插件我們希望此任務(wù)作為安裝生命周期事件的一部分運行。 
 <descriptorRef>jar-with-dependencies</descriptorRef>告訴插件我們希望jar包含所有依賴項。 <mainClass>com.example.Main</mainClass>告訴插件執(zhí)行jar時應(yīng)啟動哪個類。 
在這種情況下,我將插件設(shè)置為在安裝生命周期內(nèi)生成一個可執(zhí)行jar,但是如果希望它成為生命周期的不同部分,則當(dāng)然可以更改該設(shè)置。
您希望Maven為您完成的另一項任務(wù)是在發(fā)行版中創(chuàng)建可執(zhí)行jar。
為此,您將需要配置maven-release-plugin以創(chuàng)建可執(zhí)行jar。 可以按照以下步驟完成:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-release-plugin</artifactId><version>2.5.1</version><configuration><goals>install</goals><preparationGoals>install</preparationGoals></configuration> </plugin>這里的關(guān)鍵是準(zhǔn)備版本的配置,由release:prepare調(diào)用。 當(dāng)配置為prepareGoal時,將在提交之前執(zhí)行安裝(默認(rèn)prepareGoal是干凈驗證)。 通過將install添加到preparationGoals中,我們確保將在提交之前構(gòu)建可執(zhí)行jar。 它將使用與發(fā)行版相同的編號標(biāo)記。 如果我們從1.3版升級到1.4版,則可執(zhí)行jar將被命名為xxx-jar-with-dependencies-1.4.jar。
比較當(dāng)您將安裝配置為完成目標(biāo)而不是準(zhǔn)備目標(biāo)時發(fā)生的情況。 在與上述相同的示例中,從版本1.3遷移到1.4,如果將install配置為completementGoal,則將在提交后運行安裝,并且將生成的可執(zhí)行jar稱為xxx-jar-with-dependencies-1.5-SNAPSHOT.jar 。
目標(biāo)(與preparationGoal和completionGoal相對)由release:perform運行。 默認(rèn)情況下,它調(diào)用部署。 有關(guān)為何將其配置為調(diào)用安裝的信息,請參見此處 。
總之,我希望您能看到使用Maven構(gòu)建可執(zhí)行jar并在每次發(fā)布項目時使用正確的release標(biāo)簽將其發(fā)布是多么容易。
翻譯自: https://www.javacodegeeks.com/2015/02/maven-tip-all-about-executable-jars.html
總結(jié)
以上是生活随笔為你收集整理的Maven提示:有关可执行jar的所有信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用CDI简化JAX-RS缓存
- 下一篇: 电脑密码忘记了怎么办忘记电脑密码了如何进
