- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Java基礎之初識Maven
既然Maven是管理jar包的,當然了,有關(guān)jar包的一些問(wèn)題它都可以解決,比如下面的問(wèn)題:
jar包之間的依賴(lài)關(guān)系
jar包之間的沖突問(wèn)題
獲取第三方的jar包
將項目拆分為多個(gè)工程模塊
實(shí)現項目的部署
介紹完Maven的好處之后,我們正式開(kāi)始學(xué)習Maven
Maven是自動(dòng)化構建工具,構建是什么呢?,以Web項目舉例
接下來(lái)介紹一下構建的環(huán)節
1. 清理:刪除以前的編譯結果,為重新編譯做好準備。
2.編譯:將Java源程序編譯為字節碼文件。
3.測試:針對項目中的關(guān)鍵點(diǎn)進(jìn)行測試,確保項目在迭代開(kāi)發(fā)過(guò)程中關(guān)鍵點(diǎn)的正確性。
4.報告:在每一次測試后以標準的格式記錄和展示測試結果。
5.打包:將一個(gè)包含諸多文件的工程封裝為一個(gè)壓縮文件用于安裝或部署。Java工程對應jar包,Web工程對應war包。
6.安裝:在Maven環(huán)境下特指將打包的結果——jar包或war包安裝到本地倉庫中。
7.部署:將打包的結果部署到遠程倉庫或將war包部署到服務(wù)器上運行。
我們要構建一個(gè)jar包,就需要手動(dòng)完成上面的步驟,使用Maven就可以自動(dòng)的完成上述步驟,Maven之所以能夠實(shí)現自動(dòng)化的構建,和它的設計是緊密相關(guān)的。我們對Maven的學(xué)習就圍繞它的九個(gè)核心概念展開(kāi)
1.POM
2.約定的目錄結構
3.坐標
4.依賴(lài)管理
5.倉庫管理
6.生命周期
7.插件和目標
8.繼承
9.聚合
第一步:我們需要下面兩個(gè)包,第一個(gè)的maven-bin.zpi這個(gè),src是源碼,我們用不到,第二個(gè)是repo,它里面包含了一些常用的依賴(lài)包
第二步:我們將這兩個(gè)包放到一個(gè)文件夾中并解壓縮一下
第三步,配置環(huán)境變量
我的電腦–>右鍵–>屬性–>高級系統設置–>環(huán)境變量,然后跟前面配置Java一樣,我們先新建一個(gè)HOME
第四步,添加path
第五步,測試一下是否成功:輸入命令: mvn -version
我們先手動(dòng)創(chuàng )建一下工程,感受一下,然后我再介紹怎么使用IDEA創(chuàng )建Maven工程
第一步:創(chuàng )建約定的目錄結構
Hello src ——main ————java ————resources ——test ————java ————resources pom.xml /* main目錄用于存放主程序。 test目錄用于存放測試程序。 java目錄用于存放源代碼文件。 resources目錄用于存放配置文件和資源文件 */
第二步:創(chuàng )建Maven的核心配置文件pom.xml,先直接復制就好
<?xml version="1.0" ?> <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.company.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> </dependencies> </project>
第三步:編寫(xiě)主代碼,在src/main/java/com/company/maven
目錄下新建文件Hello.java
package com.company.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } }
第四步:編寫(xiě)測試代碼,在/src/test/java/com/company/maven
目錄下新建測試文件HelloTest.java
package com.company.maven; import org.junit.Test; import static junit.framework.Assert.*; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String results = hello.sayHello("atguigu"); assertEquals("Hello atguigu!",results); } }
第五步:運行幾個(gè)基本的Maven命令,運行Maven命令時(shí)一定要進(jìn)入pom.xml文件所在的目錄
打開(kāi)cmd命令行,進(jìn)入Hello項目根目錄(pom.xml文件所在目錄)執行mvn compile命令,查看根目錄變化 cmd 中繼續錄入mvn clean命令,然后再次查看根目錄變化 cmd 中錄入 mvn compile命令, 查看根目錄變化 cmd 中錄入 mvn test-compile命令, 查看target目錄的變化 cmd 中錄入 mvn test命令,查看target目錄變化 cmd 中錄入 mvn package命令,查看target目錄變化 cmd 中錄入 mvn install命令, 查看本地倉庫的目錄變化
<localRepository>以及準備好的倉庫位置</localRepository>
記得前面那個(gè)repo.zip么,我們將這個(gè)目錄添加到配置文件中
因為Maven是國外開(kāi)發(fā)的,所以它的中央倉庫也是在國外,我們要安裝相關(guān)的jar可能需要翻墻(其實(shí)可以加個(gè)配置,使用國內的鏡像倉庫就好)直接在setting中添加下面的配置信息,我添加的是阿里的鏡像源,后面會(huì )講這個(gè)知識點(diǎn),先照著(zhù)我的寫(xiě)
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
前面手動(dòng)創(chuàng )建只是為了讓大家了解它的構造,我們實(shí)際開(kāi)發(fā)中當然不可能這么麻煩,直接在IDEA中配置就好
第一步,打開(kāi)Maven的配置設
第二步,設置maven的安裝目錄及本地倉庫
第三步,勾選配置
第一步:新建一個(gè)項目MavenProject,直接右鍵,建立一個(gè)空白文件夾
第二步:右鍵→new Module→Maven→創(chuàng )建一個(gè)Hello工程模塊
main目錄用于存放主程序。 test目錄用于存放測試程序。 java目錄用于存放源代碼文件。 resources目錄用于存放配置文件和資源文件
第三步 : 配置Maven的核心配置文件pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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 公司域名倒敘+項目名稱(chēng) --> <groupId>com.company.helloworld</groupId> <!-- 模塊名稱(chēng) --> <artifactId>Hello</artifactId> <!-- 版本號 --> <version>1.0-SNAPSHOT</version> <dependencies> <!-- 添加第三方j(luò )ar包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> </dependencies> </project>
第四步:編寫(xiě)主代碼,在src/main/java目錄下新建文件Hello.java
package com.atguigu.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } }
第五步:編寫(xiě)測試代碼,在/src/test/java目錄下新建測試文件HelloTest.java
package com.company.helloworld; import org.junit.Test; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String maven = hello.sayHello("Maven"); System.out.println(maven); } }
第六步:使用Maven的方式運行Maven工程,在右側那個(gè)Maven中
在我們打包我們的項目時(shí),默認是不會(huì )將我們使用的依賴(lài)進(jìn)行打包的,如果想要將我們程序所需要的依賴(lài)連同我們的項目一起打包,Maven也可以做到,只需要將下面的內容放到pom.xml中就好了
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <!-- 指定主類(lèi) --> <mainClass>xxx.xxx.XXX</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
本章主要介紹了Maven的基本使用,學(xué)到這里我們要清楚知道,Maven就是為了方便工程管理的,它就是一個(gè)倉庫管理員,有本地倉庫和遠程倉庫,可以讓我們方便是使用別人開(kāi)發(fā)好的jar包,也可以讓我們進(jìn)行項目的部署與管理。
到此這篇關(guān)于Java基礎之初識Maven的文章就介紹到這了,更多相關(guān)Java Maven內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站