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

全國咨詢/投訴熱線:400-618-4000

Maven是什么?Maven能用來做什么?

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

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

依賴管理:

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

當(dāng)使用maven進(jìn)行項目依賴(jar包)管理,則很方便的可以解決這個問題。 我們只需要在maven項目的pom.xml文件中,添加一段如下圖所示的配置即可實現(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)一項目結(jié)構(gòu) :

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

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

若我們創(chuàng)建的是一個maven工程,是可以幫我們自動生成統(tǒng)一、標(biāo)準(zhǔn)的項目目錄結(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: 測試配置文件信息

項目構(gòu)建 :

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

1681295785173_5.png

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

1681295904505_6.png

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

0 分享到:
和我們在線交談!