Maven提示:有关可执行jar的所有信息
Maven提示:有關可執行jar的所有信息
在分發代碼時,可執行jar是非常有用的工具。 這意味著,只要將Java安裝在客戶端計算機上,至少在Windows和Mac上,您的用戶只需雙擊jar即可啟動程序。 另外,在命令行上,可以使用簡單的命令行java -jar xxx.jar輕松啟動程序。
不用大驚小怪的類路徑和相關的罐子。
從Maven創建可執行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>讓我們深入研究細節:
<goal>single<goal>告訴插件我們要執行單個目標。 有關更多文檔,請參見此處 。
<phase>install<phase>告訴插件我們希望此任務作為安裝生命周期事件的一部分運行。
<descriptorRef>jar-with-dependencies</descriptorRef>告訴插件我們希望jar包含所有依賴項。 <mainClass>com.example.Main</mainClass>告訴插件執行jar時應啟動哪個類。
在這種情況下,我將插件設置為在安裝生命周期內生成一個可執行jar,但是如果希望它成為生命周期的不同部分,則當然可以更改該設置。
您希望Maven為您完成的另一項任務是在發行版中創建可執行jar。
為此,您將需要配置maven-release-plugin以創建可執行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>這里的關鍵是準備版本的配置,由release:prepare調用。 當配置為prepareGoal時,將在提交之前執行安裝(默認prepareGoal是干凈驗證)。 通過將install添加到preparationGoals中,我們確保將在提交之前構建可執行jar。 它將使用與發行版相同的編號標記。 如果我們從1.3版升級到1.4版,則可執行jar將被命名為xxx-jar-with-dependencies-1.4.jar。
比較當您將安裝配置為完成目標而不是準備目標時發生的情況。 在與上述相同的示例中,從版本1.3遷移到1.4,如果將install配置為completementGoal,則將在提交后運行安裝,并且將生成的可執行jar稱為xxx-jar-with-dependencies-1.5-SNAPSHOT.jar 。
目標(與preparationGoal和completionGoal相對)由release:perform運行。 默認情況下,它調用部署。 有關為何將其配置為調用安裝的信息,請參見此處 。
總之,我希望您能看到使用Maven構建可執行jar并在每次發布項目時使用正確的release標簽將其發布是多么容易。
翻譯自: https://www.javacodegeeks.com/2015/02/maven-tip-all-about-executable-jars.html
總結
以上是生活随笔為你收集整理的Maven提示:有关可执行jar的所有信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用CDI简化JAX-RS缓存
- 下一篇: 您真的了解@WebService吗?