更新時(shí)間:2021-10-13 10:40:33 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1110次
您必須了解如何在計(jì)算機(jī)上安裝軟件。如果您不知道該怎么做,請(qǐng)?jiān)儐柲k公室、學(xué)校等的人員或請(qǐng)人向您解釋這一點(diǎn)。Maven 郵件列表不是尋求此建議的最佳場(chǎng)所。
Maven 是一個(gè) Java 工具,因此您必須安裝Java才能繼續(xù)。
首先,下載 Maven并按照安裝說明進(jìn)行操作。之后,在終端或命令提示符中鍵入以下內(nèi)容:
mvn --version
它應(yīng)該打印出您安裝的 Maven 版本,例如:
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\apache-maven-3.6.3\apache-maven\bin\..
Java version: 1.8.0_232, vendor: AdoptOpenJDK, runtime: C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre
Default locale: en_US, platform encoding: Cp1250
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
根據(jù)您的網(wǎng)絡(luò)設(shè)置,您可能需要額外的配置。如有必要,請(qǐng)查看配置 Maven的指南。
如果您使用的是 Windows,您應(yīng)該查看 Windows 先決條件 以確保您準(zhǔn)備好在 Windows 上使用 Maven。
您需要在某個(gè)地方放置您的項(xiàng)目。在某處創(chuàng)建一個(gè)目錄并在該目錄中啟動(dòng)一個(gè) shell。在命令行上,執(zhí)行以下 Maven 目標(biāo):
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
如果您剛剛安裝了 Maven,第一次運(yùn)行可能需要一段時(shí)間。這是因?yàn)?Maven 正在將最新的工件(插件 jar 和其他文件)下載到您的本地存儲(chǔ)庫中。您可能還需要多次執(zhí)行該命令才能成功。這是因?yàn)檫h(yuǎn)程服務(wù)器可能會(huì)在您的下載完成之前超時(shí)。別擔(dān)心,有辦法解決這個(gè)問題。
您會(huì)注意到generate目標(biāo)創(chuàng)建了一個(gè)與 artifactId 同名的目錄。切換到那個(gè)目錄。
cd my-app
在此目錄下,您會(huì)注意到以下標(biāo)準(zhǔn)項(xiàng)目結(jié)構(gòu)。
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
該src/main/java目錄包含了項(xiàng)目的源代碼,該src/test/java目錄包含測(cè)試源,并且pom.xml文件是項(xiàng)目的項(xiàng)目對(duì)象模型,或POM。
該pom.xml文件是 Maven 中項(xiàng)目配置的核心。它是一個(gè)單一的配置文件,其中包含以您想要的方式構(gòu)建項(xiàng)目所需的大部分信息。POM 是巨大的,其復(fù)雜性可能令人生畏,但為了有效地使用它,沒有必要了解所有的復(fù)雜性。這個(gè)項(xiàng)目的POM是:
<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>
mvn package
命令行將打印出各種操作,并以以下內(nèi)容結(jié)束:
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.953 s
[INFO] Finished at: 2019-11-24T13:05:10+01:00
[INFO] ------------------------------------------------------------------------
與執(zhí)行的第一個(gè)命令(archetype:generate)不同,第二個(gè)命令只是一個(gè)單詞 - package。這不是一個(gè)目標(biāo),而是一個(gè)階段。階段是構(gòu)建生命周期中的一個(gè)步驟,它是一個(gè)有序的階段序列。當(dāng)給出一個(gè)階段時(shí),Maven 執(zhí)行序列中的每個(gè)階段,直到并包括定義的階段。例如,如果您執(zhí)行編譯階段,實(shí)際執(zhí)行的階段是:
證實(shí)
生成源
流程來源
生成資源
流程資源
編譯
您可以使用以下命令測(cè)試新編譯和打包的 JAR:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
這將打印精髓:
Hello World!
Maven 階段
雖然不是一個(gè)完整的列表,但這些是執(zhí)行的最常見的默認(rèn)生命周期階段。
validate : 驗(yàn)證項(xiàng)目是否正確并且所有必要的信息都可用
compile : 編譯項(xiàng)目的源代碼
test:使用合適的單元測(cè)試框架測(cè)試編譯的源代碼。這些測(cè)試不應(yīng)該要求打包或部署代碼
package:將編譯后的代碼打包成可分發(fā)的格式,例如 JAR。
集成測(cè)試:如有必要,處理包并將其部署到可以運(yùn)行集成測(cè)試的環(huán)境中
驗(yàn)證:運(yùn)行任何檢查以驗(yàn)證包是否有效并符合質(zhì)量標(biāo)準(zhǔn)
install : 將包安裝到本地倉庫中,作為本地其他項(xiàng)目的依賴
deploy:在集成或發(fā)布環(huán)境中完成,將最終包復(fù)制到遠(yuǎn)程存儲(chǔ)庫以與其他開發(fā)人員和項(xiàng)目共享。
除了上面的默認(rèn)列表之外,還有另外兩個(gè)值得注意的Maven生命周期。他們是
clean:清除先前構(gòu)建創(chuàng)建的工件
site : 為這個(gè)項(xiàng)目生成站點(diǎn)文檔
階段實(shí)際上映射到潛在目標(biāo)。每個(gè)階段執(zhí)行的具體目標(biāo)取決于項(xiàng)目的打包類型。例如,如果項(xiàng)目類型是 JAR ,package 將執(zhí)行jar:jar,如果項(xiàng)目類型是 - 你猜對(duì)了 - WAR ,則執(zhí)行war:war。
需要注意的一件有趣的事情是階段和目標(biāo)可以按順序執(zhí)行。
mvn clean dependency:copy-dependencies package
此命令將清理項(xiàng)目、復(fù)制依賴項(xiàng)并打包項(xiàng)目(當(dāng)然,執(zhí)行到package 之前的所有階段)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743