maven deploy plugin_Maven快速上手
作者:u_7deeb657158f
出自:ITPUB博客
原文:blog.itpub.net/69956102/viewspace-2726121/
創(chuàng)建項目
首先需要創(chuàng)建一個用于存儲項目的文件夾,在控制臺中輸入以下命令:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false如果你剛剛安裝Maven,則這個命令會需要消耗一些時間,因為Maven需要下載一些插件或者文件至你本地的資源庫中。你可能需要運行這個命令幾次才會成功,因為一些遠(yuǎn)程服務(wù)器會連接超時(這個問題有辦法解決)。
命令執(zhí)行成功后會創(chuàng)建一個與artifactId同名的目錄,該目錄結(jié)構(gòu)為標(biāo)準(zhǔn)的Maven項目結(jié)構(gòu)
命令執(zhí)行成功后會創(chuàng)建一個與artifactId同名的目錄,該目錄結(jié)構(gòu)為標(biāo)準(zhǔn)的Maven項目結(jié)構(gòu) my-app │ pom.xml │ tree.txt │ └─src├─main│ └─java│ └─cn│ └─daiwuliang│ App.java│ └─test└─java└─cn└─daiwuliangAppTest.javasrc/main/java 包含了項目源代碼
src/test/java 包含了測試源代碼
pom.xml 是項目對象模型
POM(Project Object Model)
pom.xml是Maven項目配置的核心,它包含了構(gòu)建項目所需的主要信息,POM很復(fù)雜,但是開發(fā)人員需要深入了解它。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies> </project>構(gòu)建命令解析
上面執(zhí)行的構(gòu)建命令,含義是執(zhí)行了Maven目標(biāo)(goal) archetype:generate,之后的參數(shù)為傳入目標(biāo)的參數(shù),前綴archetype是提供目標(biāo)(goal)的插件,如果你熟悉Ant,你可以將目標(biāo)理解為Ant的task, archetype:generate 目標(biāo)(goal)在 maven-archetype-quickstart原型基礎(chǔ)上的簡單項目??偨Y(jié)來說,插件(plugin)就是一系列目的相近的目標(biāo)(goal)的集合,例如jboss-maven-plugin,它的目標(biāo)是多種jboss項目
構(gòu)建工程
mvn package控制臺中最終會輸出:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.241 s [INFO] Finished at: 2020-10-10T17:25:02+08:00 [INFO] ------------------------------------------------------------------------這個命令與上一個(archetype:generate)有著明顯的不同,這個命令不是運行目標(biāo)(goal)而是階段(phase),階段(phase)是構(gòu)建生命周期(build lifecycle)的一個步驟,階段(phase)在生命周期中是有順序的,當(dāng)一個階段(phase)被執(zhí)行時,在它前面的所有階段(phase)都會被執(zhí)行,例如,如果我們執(zhí)行compile階段,實際執(zhí)行的階段(phase)有:
可以通過以下命令驗證編譯結(jié)果:
java -cp target/my-app-1.0-SNAPSHOT.jar cn.daiwuliang.App會輸出:
Hello World!對Java 9+的支持
Maven默認(rèn)使用舊版本編譯插件 maven-compiler-plugin,該版本插件不兼容Java9或者更新的版本,如果項目使用使用Java9+,則應(yīng)該使用3.6.0+的maven-compiler-plugin,并且設(shè)置 屬性 maven.compiler.release 為目標(biāo)Java版本
以下為配置的一個例子:
<properties><maven.compiler.release>11</maven.compiler.release></properties><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version></plugin></plugins></pluginManagement></build>運行Maven
Maven階段(phase)
以下為通常的默認(rèn)生命周期階段:
- validate: 校驗工程是否包含了所有必要的信息
- compile: 編譯工程的源代碼
- test: 使用合適的單元測試框架測試編譯后的源代碼,這些測試不應(yīng)該依賴打包或者發(fā)布的代碼
- package: 將編譯后代碼打包為發(fā)布格式,例如JAR
- integration-test: 運行集成測試
- verify: 運行檢查項,以驗證打包文件符合質(zhì)量標(biāo)準(zhǔn)
- install: 安裝打包文件到本地資源庫,可供本地其他項目依賴
- deploy: 會在集成環(huán)境或者正式環(huán)境執(zhí)行,將最終的打包文件發(fā)布至遠(yuǎn)程倉庫,以供其他卡發(fā)著或者工程使用
在默認(rèn)的階段之外還有兩個階段:
- clean: 清空之前構(gòu)建內(nèi)容
- site: 生成工程的文檔信息
階段(Phase)實際上是一些底層的目標(biāo)(goal),階段(phase)和目標(biāo)(goal)可以按照書寫順序執(zhí)行:
這個命令會清空工程,復(fù)制依賴,打包工程
生成站點
mvn site這個站點的生成依賴于pom配置,生成后的文件位于target/site
總結(jié)
以上是生活随笔為你收集整理的maven deploy plugin_Maven快速上手的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php辅助框架,【PHP开发框架】Lar
- 下一篇: 无向图的深度优先遍历非递归_【数据结构图