教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Maven是什么?Maven能用來(lái)做什么?

更新時(shí)間:2023年04月13日10時(shí)18分 來(lái)源:傳智教育 瀏覽次數(shù):

Maven是Apache旗下的一個(gè)開(kāi)源項(xiàng)目,是一個(gè)項(xiàng)目管理和構(gòu)建工具,它基于項(xiàng)目對(duì)象模型(Project Object Model , 簡(jiǎn) 稱: POM)的概念,通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建、報(bào)告和文檔。掌握Maven可以進(jìn)行一些簡(jiǎn)單的依賴管理、 統(tǒng)一項(xiàng)目結(jié)構(gòu)、 項(xiàng)目構(gòu)建,下面做詳細(xì)介紹。

依賴管理:

方便快捷的管理項(xiàng)目依賴的資源(jar包),避免版本沖突問(wèn)題。若沒(méi)有通過(guò)maven進(jìn)行大型項(xiàng)目的依賴管理,我們?cè)陂_(kāi)發(fā)項(xiàng)目時(shí),需要引入大量的jar包。那么此時(shí),jar包和jar包之間很多時(shí)候是需要版本匹配的,如果版本不匹配,此時(shí)很容易出現(xiàn)版本沖突問(wèn)題。

當(dāng)使用maven進(jìn)行項(xiàng)目依賴(jar包)管理,則很方便的可以解決這個(gè)問(wèn)題。 我們只需要在maven項(xiàng)目的pom.xml文件中,添加一段如下圖所示的配置即可實(shí)現(xiàn)。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.13.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.4</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId
    <version>5.6.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

統(tǒng)一項(xiàng)目結(jié)構(gòu) :

提供標(biāo)準(zhǔn)、統(tǒng)一的項(xiàng)目結(jié)構(gòu) 在項(xiàng)目開(kāi)發(fā)中,當(dāng)你使用不同的開(kāi)發(fā)工具 (如:Eclipse、Idea),創(chuàng)建項(xiàng)目工程時(shí):

項(xiàng)目目錄結(jié)構(gòu)

若我們創(chuàng)建的是一個(gè)maven工程,是可以幫我們自動(dòng)生成統(tǒng)一、標(biāo)準(zhǔn)的項(xiàng)目目錄結(jié)構(gòu):

1681295668353_3.png

具體的統(tǒng)一結(jié)構(gòu)如下:

1681295705113_4.png

目錄說(shuō)明: 
src/main/java: java源代碼目錄 
src/main/resources: 配置文件信息 
src/test/java: 測(cè)試代碼 
src/test/resources: 測(cè)試配置文件信息

項(xiàng)目構(gòu)建 :

maven提供了標(biāo)準(zhǔn)的、跨平臺(tái)(Linux、Windows、MacOS) 的自動(dòng)化項(xiàng)目構(gòu)建方式

1681295785173_5.png

如上圖所示我們開(kāi)發(fā)了一套系統(tǒng),代碼需要進(jìn)行編譯、測(cè)試、打包、發(fā)布,這些操作如果需要反復(fù)進(jìn)行就顯得特別麻煩,而Maven提供了一套簡(jiǎn)單的命令來(lái)完成項(xiàng)目構(gòu)建。

1681295904505_6.png

綜上所述,可以得到一個(gè)結(jié)論:Maven是一款管理和構(gòu)建java項(xiàng)目的工具。

0 分享到:
和我們?cè)诰€交談!