亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

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

在我們的項目開發過程中,常常會使用Maven作為依賴,來快速地引入依賴進行開發。很多人都知道maven或者使用的次數也非常多,今天我們就來了解一下maven,系統地介紹一下。

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

1、Maven的基本概念

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

1.1、項目構建

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

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

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

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

[3] 測試test:自動測試,自動調用junit程序;

[4] 報告report:測試程序執行的結果;

[5] 打包package:動態Web工程打War包,java工程打jar包;

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

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

相關的maven命令:

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

1.2、依賴管理

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

2、Maven安裝

2.1、安裝或者查看環境

首先要確保開發環境已經安裝了JDK,配置好JDK的環境變量,使用如下的兩個命令檢查檢查JDK安裝的情況。

① Echo %JAVA_HOME%

② Java –version

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

2.2、下載maven

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

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

2.3、設置系統環境變量

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

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

2.4、設置環境變量Path

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

2.5、驗證Maven安裝是否成功

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

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

3、Maven的簡單使用

3.1、Maven項目的目錄約定

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

3.2、maven的配置文件setting.xml

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

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

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

<!--本地倉庫。該值表示構建系統本地倉庫的路徑。其默認值為~/.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 配置文件,然后就可以在開發工具中引入,我以IntelliJ IDEA為例。

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

4、Maven坐標

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

4.1、Maven坐標主要組成

  1. groupId:組織標識(包名);
  2. artifactId:項目名稱;
  3. version:項目的當前版本;
  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、依賴管理

我們在標簽對dependencies內,引入項目所需要的依賴。

<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、添加外部依賴

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

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

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

5、Maven倉庫

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

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

5.1、遠程倉庫

(1)中央倉庫:Maven默認的遠程倉庫,中央倉庫是遠程倉的核心。中央倉庫包含了絕大多數流行開源Java構件,以及源碼、作者信息、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)私服:是一種特殊的遠程倉庫,maven私服是指私有服務器,是針對局域網而言的,目的是代理遠程倉庫及部署第三方構建,很多公司會搭建自己的私服。有了私服之后,當 Maven 需要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠程倉庫,將構件下載到私服,再提供給本地倉庫下載。

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

5.2、本地倉庫

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

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

6、maven模塊聚合和繼承

6.1、頂級pom文件配置

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

6.2、模塊聚合配置

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

6.3、繼承配置代碼

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

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

<!--屬性定義--><properties> <!--項目構建基本配置--> <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進行管理:

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

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2023年11月21日 下午6:32
下一篇 2023年11月21日 下午6:48

相關推薦

  • 農發行江蘇常州市分行開展“黨建引領 合規護航”主題活動(銀行黨建引領合規發展)

    本報記者 李道海 通訊員 曾燁 為全面深入推進“合規農發行三年行動”,推動黨建與合規建設深度融合,助推“兩基”建設取得實效,近日,農發行江蘇常州分行聯合武進支行、江蘇蘇正律師事務所…

    科研百科 2023年10月13日
    125
  • 黨建引領社區精細化治理——日照市山海天青島路社區陪讀家庭驛站

    通訊員 尹相山 高寧 立足社區特點 發掘群眾需求 陪讀家庭是臥龍山街道青島路社區特有現象,陪讀父母也成為社區特有人群。針對陪讀父母臨時性、靈活性、流動性的特點,以及高考前學生家長的…

    科研百科 2022年12月30日
    85
  • 酒店管理開源項目

    酒店管理開源項目 隨著旅游業的不斷發展,酒店管理成為了一個日益重要的領域。然而,傳統的酒店管理存在著許多問題,例如管理效率不高、員工培訓困難等等。因此,開源成為了酒店管理發展的一種…

    科研百科 2024年10月22日
    1
  • 開展有用的科研項目是什么意思開展有用的科研項目是什么意思

    開展有用的科研項目是什么意思? 科研項目是一種旨在通過研究和開發新知識、新技術或新工具來推動科學技術進步的活動。這些項目通常涉及各種領域,包括自然科學、社會科學、工程技術等。通過開…

    科研百科 2024年9月9日
    25
  • 主持或參與科研項目查找

    主持或參與科研項目查找 隨著科技的不斷進步,科研項目查找已經成為了一個越來越重要的領域。在這個領域中,研究人員需要通過各種方式來查找合適的科研項目,以便開展自己的工作。本文將探討如…

    科研百科 2025年4月30日
    2
  • 科研項目成果輸出

    科研項目成果輸出 近年來,隨著人工智能技術的不斷發展,越來越多的科研項目開始注重對人工智能系統的應用和輸出。其中,最具代表性的成果之一是科研項目成果輸出的實現。 科研項目成果輸出是…

    科研百科 2025年3月1日
    1
  • 福建光伏項目管理系統

    福建光伏項目管理系統 隨著全球對可再生能源的需求不斷增加,光伏項目管理系統也逐漸成為了可再生能源領域的重要工具。福建光伏項目管理系統,作為福建省內較為先進的光伏項目管理系統之一,其…

    科研百科 2024年12月31日
    2
  • 安陽縣辛村鎮:用好遠程教育“微平臺”,建設黨建學習“大陣地”

    安陽縣辛村鎮:用好遠程教育“微平臺”,建設黨建學習“大陣地” 河南日報農村版訊(記者秦名芳通訊員栗沛 敦金洋)安陽縣辛村鎮致力于開展一系列內容豐富、形式多樣、效果顯著的“以學促用”…

    科研百科 2024年5月30日
    28
  • 科研項目研究目標

    科研項目研究目標 隨著科技的不斷進步,科研項目的研究目標也在不斷地更新和變化。在近年來,隨著人工智能、大數據、云計算等技術的發展,許多科研項目的目標也朝著更加智能化和高效化的方向發…

    科研百科 2024年11月15日
    2
  • 信息系統項目管理師教程 第四版

    信息系統項目管理師教程第四版 隨著信息技術的快速發展,信息系統項目管理師成為了一個至關重要的職業。作為項目管理師,他們負責制定和執行信息系統項目的規劃、設計、開發、測試、實施和運維…

    科研百科 2025年1月24日
    1