更新時(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>
提供標(biāo)準(zhǔn)、統(tǒng)一的項(xiàng)目結(jié)構(gòu) 在項(xiàng)目開發(fā)中,當(dāng)你使用不同的開發(fā)工具 (如:Eclipse、Idea),創(chuàng)建項(xiàng)目工程時(shí):
若我們創(chuàng)建的是一個(gè)maven工程,是可以幫我們自動(dòng)生成統(tǒng)一、標(biāo)準(zhǔn)的項(xiàng)目目錄結(jié)構(gòu):
具體的統(tǒng)一結(jié)構(gòu)如下:
目錄說明: src/main/java: java源代碼目錄 src/main/resources: 配置文件信息 src/test/java: 測試代碼 src/test/resources: 測試配置文件信息
maven提供了標(biāo)準(zhǔn)的、跨平臺(tái)(Linux、Windows、MacOS) 的自動(dòng)化項(xiàng)目構(gòu)建方式
如上圖所示我們開發(fā)了一套系統(tǒng),代碼需要進(jìn)行編譯、測試、打包、發(fā)布,這些操作如果需要反復(fù)進(jìn)行就顯得特別麻煩,而Maven提供了一套簡單的命令來完成項(xiàng)目構(gòu)建。
綜上所述,可以得到一個(gè)結(jié)論:Maven是一款管理和構(gòu)建java項(xiàng)目的工具。