一、maven簡介
Maven是一個基於項目對象模型(POM)概念的項目管理工具,它可以管理項目的構建、報告和文檔化等工作。在Maven管理的項目中,開發人員只需要關注自己的代碼,而開發出的代碼會被統一編譯、測試、打包和部署,使得整個開發過程變得更加規範、高效。
Maven可以自動處理依賴關係,它通過在一些公共的倉庫中查找相關的依賴,自動下載需要的依賴Jar包。在項目構建、編譯、測試和部署時,只需要在POM文件中配置一些基本信息,即可將這些依賴自動引入到當前項目中。
Maven是一種約定優於配置的開發和部署方式,它為Java項目提供了一種可重複、可擴展的構建過程,尤其適用於多模塊項目。
二、maven打jar包命令
在Maven中,使用以下命令可以將項目打包成Jar包:
mvn package
在執行該命令時,Maven會搜索項目的POM文件,找到其中的<packaging>標籤,並且判斷其值是否為”jar”。如果是,則執行如下打包操作:
- 編譯項目的代碼
- 打包項目的class文件和資源文件到指定的jar包中
- 將項目依賴的Jar包也打包到指定的Jar包中
如果POM文件中沒有配置<packaging>標籤,則默認為”jar”。
三、maven打可執行Jar包命令
在某些情況下,我們需要將項目打包成可執行的Jar包,執行如下命令即可:
mvn package && java -jar target/xxxx.jar
該命令會先使用mvn package打包項目成Jar文件,然後使用java -jar命令執行剛剛打包好的Jar文件,使其成為可執行的Jar包。
該命令需要注意兩點:
- Java應該安裝在系統中並正確配置了環境變量
- xxxx.jar應該替換為該項目打包成的Jar包名稱
四、maven打jar包並跳過測試
在使用Maven打包時,往往需要執行一系列的測試用例,但是有時候我們並不需要執行它們,只關心打包的結果,此時可以使用如下命令跳過測試:
mvn package -Dmaven.test.skip=true
該命令在執行打包命令時會跳過所有測試用例的執行,並直接將項目源代碼編譯成Jar文件。
五、maven打jar包並指定額外的依賴包
在Maven打包時,有時我們需要將一些外部的依賴包打包成Jar文件一併使用,可以使用如下命令來完成:
mvn package assembly:single
該命令會執行一下操作:
- 編譯項目的源代碼和依賴關係
- 將項目的編譯結果打包成一個Jar包
- 將該項目依賴在pom.xml中定義的外部依賴,以及在plugin里定義的一些外部依賴打成一個獨立的Jar包,並且命名為original-xxxx.jar,將其放置在項目的target文件夾內
該命令在執行完畢後,可以在項目的target目錄下找到打包好的Jar包和其他依賴的Jar文件。
六、maven打jar包並排除指定的依賴包
在某些情況下,我們不希望將某些依賴包打包到最終的Jar文件中,可以使用如下命令排除指定的依賴包:
<dependencies> <dependency> <groupId>xxxx</groupId> <artifactId>yyyy</artifactId> <version>zzzz</version> <exclusions> <exclusion> <groupId>excludeGroupId</groupId> <artifactId>excludeArtifactId</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
使用<exclusion>標籤可指定需要排除的依賴包,在該標籤中指定該依賴包的groupId和artifactId即可。
七、maven打jar包並將依賴包打進lib文件夾
在某些情況下,我們需要將項目的依賴Jar包與項目Jar包分開存放,可以使用如下命令將所有外部依賴Jar包打包到lib文件夾中:
<build> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
在POM文件中添加上述代碼片段,將項目的所有依賴Jar文件打包到lib文件夾中。
八、總結
本文主要介紹了Maven打Jar包命令的相關操作,包括普通Jar包、可執行Jar包、排除指定依賴包、指定額外依賴包、將依賴Jar包打包進lib文件夾等命令的使用方法,希望對讀者有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151288.html