亚洲av中文无码乱人伦在线视色,网曝黑料国产吃瓜,无码国产精品久久一区免费,亚洲av在在线观看,亚洲av国产午夜精品一区二区

Maven項目管理工具的介紹和使用(如何用maven管理項目)

在我們的項目開發(fā)過程中,常常會使用Maven作為依賴,來快速地引入依賴進(jìn)行開發(fā)。很多人都知道m(xù)aven或者使用的次數(shù)也非常多,今天我們就來了解一下maven,系統(tǒng)地介紹一下。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

1、Maven的基本概念

Maven是跨平臺的項目管理工具。主要服務(wù)于基于Java平臺的項目構(gòu)建,依賴管理和項目信息管理。接下來我們就來介紹一下項目構(gòu)建和依賴管理。

1.1、項目構(gòu)建

項目構(gòu)建過程包括【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【安裝項目】→【部署項目】這幾個步驟,這幾個步驟就是一個項目的完整構(gòu)建過程,我們在項目開發(fā)過程中不一定需要使用所有的步驟,往往只需要使用到其中幾個關(guān)鍵步驟。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

[1] 清理clean:將以前編譯得到的舊文件class字節(jié)碼文件刪除,為下一次編譯做準(zhǔn)備;

[2] 編譯compile:將java源程序編譯成class字節(jié)碼文件;

[3] 測試test:自動測試,自動調(diào)用junit程序;

[4] 報告report:測試程序執(zhí)行的結(jié)果;

[5] 打包package:動態(tài)Web工程打War包,java工程打jar包;

[6] 安裝install:Maven特定的概念—–將打包得到的文件復(fù)制到“倉庫”中的指定位置;

[7] 部署deploy:將動態(tài)Web工程生成的war包復(fù)制到Servlet容器下,使其可以運行;

相關(guān)的maven命令:

  • mvn clean:清理;
  • mvn compile:編譯主程序;
  • mvn test-compile:編譯測試程序;
  • mvn test:執(zhí)行測試;
  • mvn package:打包;
  • mvn install:安裝jar到本地倉庫;
  • mvn deploy:將最終的包復(fù)制到遠(yuǎn)程的倉庫,以讓其它開發(fā)人員與項目共享;
  • mvn site:生成項目站點信息;
  • mvn clean install:組合命令,告訴Maven clean在每個模塊中執(zhí)行install階段;

1.2、依賴管理

依賴指的是jar包之間的相互依賴,比如我們搭建一個struts2的開發(fā)框架時,如果只有struts2-core.jar這個jar包是不行的,struts2-core.jar還依賴其它的jar包,依賴管理指的就是使用Maven來管理項目中使用到的jar包,Maven管理的方式就是“自動下載項目所需要的jar包,統(tǒng)一管理jar包之間的依賴關(guān)系”。

2、Maven安裝

2.1、安裝或者查看環(huán)境

首先要確保開發(fā)環(huán)境已經(jīng)安裝了JDK,配置好JDK的環(huán)境變量,使用如下的兩個命令檢查檢查JDK安裝的情況。

① Echo %JAVA_HOME%

② Java –version

Maven項目管理工具的介紹和使用(如何用maven管理項目)

2.2、下載maven

到官網(wǎng)maven.apache.org下載對應(yīng)操作系統(tǒng)的版本,比如我是windows系統(tǒng),我會選擇下載apache-maven-3.8.6-bin.zip,下載之后對zip壓縮文件進(jìn)行解壓。如果是linux操作系統(tǒng),可以下載后綴是gz格式的壓縮包。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

2.3、設(shè)置系統(tǒng)環(huán)境變量

桌面“我的電腦”->右鍵打開“屬性”->“高級系統(tǒng)設(shè)置”->"環(huán)境變量" 中設(shè)置 MAVEN_HOME,設(shè)置為maven的解壓縮目錄。小編之前已經(jīng)安裝了3.8.1版本,而不是最新的3.8.6版本,后續(xù)以此版本截圖說明。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

2.4、設(shè)置環(huán)境變量Path

將%MAVEN_HOME%bin加入Path中,一定要注意要用分號;與其他值隔開。%MAVEN_HOME%bin代表的就是"D:installapache-maven-3.8.1bin"目錄(這是我的安裝目錄,每個人這里對應(yīng)的自己的安裝目錄)。

2.5、驗證Maven安裝是否成功

打開cmd窗口,輸入"mvn –v"命令 查看Maven的相關(guān)信息。會顯示maven的版本、jdk的版本信息以及操作信息的相關(guān)信息。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

3、Maven的簡單使用

3.1、Maven項目的目錄約定

Maven項目管理工具的介紹和使用(如何用maven管理項目)

3.2、maven的配置文件setting.xml

我們先來了解一下setting.xml 配置文件格式和內(nèi)容。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

上面這個例子看起來比較復(fù)雜,但我們在實際使用中往往只關(guān)注兩個方面,一個是配置本地倉庫的路徑,一個是設(shè)置下載依賴的來源。

<!--本地倉庫。該值表示構(gòu)建系統(tǒng)本地倉庫的路徑。其默認(rèn)值為~/.m2/repository。 -->  <localRepository>E:mavenRepositoryrepository</localRepository><!--為倉庫列表配置的下載鏡像列表。 -->  <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>

配置好setting.xml 配置文件,然后就可以在開發(fā)工具中引入,我以IntelliJ IDEA為例。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

4、Maven坐標(biāo)

maven項目,跟maven相關(guān)的最重要的文件就是pom.xml文件了,我們來了解一下。

4.1、Maven坐標(biāo)主要組成

  1. groupId:組織標(biāo)識(包名);
  2. artifactId:項目名稱;
  3. version:項目的當(dāng)前版本;
  4. packaging:項目的打包方式,最為常見的jar和war兩種。

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.1</version> <relativePath /></parent><groupId>com.bianchengxia.springboot</groupId><artifactId>springboot</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot</name><packaging>jar</packaging> <!-- jar或者war -->

4.2、依賴管理

我們在標(biāo)簽對dependencies內(nèi),引入項目所需要的依賴。

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--切面日志 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!--mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency> <!-- mysql依賴jar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency></dependencies>

4.3、添加外部依賴

正常的我們引入遠(yuǎn)程倉庫的依賴,直接可以是使用上面的方式,但是如果我們需要引入項目里面的依賴,比如一個開源的項目有一個私有的依賴包,我們下載下來之后需要引入才能正常運行或者打包。那我們就可以使用下面的方式:除了引入依賴之外,再添加配置,設(shè)置includeSystemScope為true。

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--打包時將外部引入的jar包打包,不加此配置,本地可以運行,但服務(wù)器上jar中是沒有的--> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins></build>

Maven項目管理工具的介紹和使用(如何用maven管理項目)

5、Maven倉庫

maven倉庫的分類:本地倉庫和遠(yuǎn)程倉庫。其中遠(yuǎn)程倉庫包括中央倉庫、私服和其他公共庫。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

5.1、遠(yuǎn)程倉庫

(1)中央倉庫:Maven默認(rèn)的遠(yuǎn)程倉庫,中央倉庫是遠(yuǎn)程倉的核心。中央倉庫包含了絕大多數(shù)流行開源Java構(gòu)件,以及源碼、作者信息、SCM、信息、許可證信息等。如果中央倉庫慢可以用mirrors來替換它,它的id是central。

<!-- 中央倉庫 --><repositories> <repository> <id>central</id> <name>Central Repository</name> <url>http://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository></repositories>

(2)私服:是一種特殊的遠(yuǎn)程倉庫,maven私服是指私有服務(wù)器,是針對局域網(wǎng)而言的,目的是代理遠(yuǎn)程倉庫及部署第三方構(gòu)建,很多公司會搭建自己的私服。有了私服之后,當(dāng) Maven 需要下載構(gòu)件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠(yuǎn)程倉庫,將構(gòu)件下載到私服,再提供給本地倉庫下載。

(3)其他公共庫:默認(rèn)的遠(yuǎn)程倉庫也就是中央倉庫往往下載比較慢,所以很多公司會搭建私服,但是搭建私服也比較麻煩,這個時候有人就想,能不能使用“拿來主義”直接使用別人搭建好的倉庫呢?當(dāng)然可以,這就是其他公共庫,對外開放,我們可以直接使用。比如我們在上面的setting.xml 配置文件里面<mirror>標(biāo)簽對里面設(shè)置的倉庫,就是阿里云開放的公共倉庫。

5.2、本地倉庫

maven在本地存儲構(gòu)件的路徑,一般本地倉庫地址可以在settings.xml里邊指定。我們在上面介紹settings.xml文件時也說明了,設(shè)置localRepository元素的值為本地倉庫路徑。

Maven項目管理工具的介紹和使用(如何用maven管理項目)

6、maven模塊聚合和繼承

6.1、頂級pom文件配置

Maven項目管理工具的介紹和使用(如何用maven管理項目)

6.2、模塊聚合配置

Maven項目管理工具的介紹和使用(如何用maven管理項目)

6.3、繼承配置代碼

Maven項目管理工具的介紹和使用(如何用maven管理項目)

繼承代碼過程中,可以定義屬性,例如:

<!--屬性定義--><properties> <!--項目構(gòu)建基本配置--> <spring.version>3.2.0.RELEASE</spring.version> <struts.version>2.3.15.1</struts.version> <servlet.version>3.0.1</servlet.version> <urlrewriter.version>4.0.4</urlrewriter.version></properties>

訪問屬性的方式為${junit.version},例如:

<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope></dependency>

父模塊用dependencyManagement進(jìn)行管理:

<dependencyManagement> <dependencies> <dependency> <groupId>com.tydic.framework</groupId> <artifactId>frameworkbase</artifactId> <version>${framework.version}</version> </dependency> </dependencies><dependencyManagement>

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
返回頂部