首頁常見問題正文

Maven是什么?Maven能用來做哪些工作?

更新時(shí)間:2023-04-12 來源:黑馬程序員 瀏覽量:

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

依賴管理:

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

當(dāng)使用maven進(jìn)行項(xiàng)目依賴(jar包)管理,則很方便的可以解決這個(gè)問題。 我們只需要在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)目開發(fā)中,當(dāng)你使用不同的開發(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

目錄說明: 
src/main/java: java源代碼目錄 
src/main/resources: 配置文件信息 
src/test/java: 測試代碼 
src/test/resources: 測試配置文件信息

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

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

1681295785173_5.png

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

1681295904505_6.png

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

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!