1. 程式人生 > >maven依賴管理

maven依賴管理

三個專案,Parent作為父專案、test1、test2作為子專案。

在父專案Parent中依賴項如下:

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

在子專案test1、test2中沒有寫任何依賴,在test1下執行命令 mvn help:effective-pom,會發現test1下面有 junit 4.8.1的依賴。

如果我把 父專案Parent 中的依賴修改如下:

 <dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>

子專案test1、test2下面還是沒有任何依賴項,在test1下執行命令 mvn help:effective-pom,會發現test1下面沒有junit 4.8.1的依賴。

如果我在test1 下新增junit的依賴:

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>

再在test1下執行命令 mvn help:effective-pom,會發現test1下面有了 junit 4.8.1的依賴,並且scope為 test。

那麼經過驗證,scope寫在子專案中的<dependencies> 下的<dependency>中,或是寫在父專案中的<dependencyManagement>中,都是可以的。

dependencies 和 dependencyManagement 的區別在於:

dependencies :即使在子專案中不寫該依賴項,那麼子專案仍然會從父專案中繼承該依賴項。

dependencyManagement :如果在子專案中不寫該依賴項,那麼子專案中是不會從父專案繼承該依賴項的;只有在子專案中寫了該依賴項,才會從父專案中繼承該項,並且version 和 scope 都讀取自 父pom。

雖然dependencyManagement 沒有減少多少配置資訊,但從管理上來說更加規範,在需要精簡子專案依賴的時候可以使用。

同理外掛管理pluginManagement和dependencyManagement是一樣的道理。

相關推薦

我的第一個springboot應用+maven依賴管理

efault 輸入 ins src [] jvm artifact starting map 第一步:使用Eclipse創建maven工程SpringBootFirst:工程目錄如下 第二步:編寫依賴文件pom.xml <project xmlns="http:/

Maven--依賴管理

www. enc 關系 核心 依賴項 jar 策略 項目文件 med Maven 依賴機制:  易百教程:http://www.yiibai.com/maven/maven_manage_dependencies.html  Maven的核心特征之一是依賴管理  Ma

Maven學習(十八)-----Maven依賴管理

oca 子項目 sta stage clu padding 類型 type 核心 其中一個Maven的核心特征是依賴管理。管理依賴關系變得困難的任務一旦我們處理多模塊項目(包含數百個模塊/子項目)。 Maven提供了一個高程度的控制來管理這樣的場景。 傳遞依賴發現 這是很通

maven——依賴管理

width 執行 manage for 第三方 所有 eight containe 範圍   管理包依賴是 Maven 核心功能之一,下面通過如何引入 jar 包;如何解析 jar 包依賴;包沖突是如何產生;如何解決包沖突;依賴管理解決什麽問題;什麽是依賴範圍;使用包依賴

04-Maven依賴管理

管理 maven依賴管理 ima bsp mave idt 9.png width maven 1.概述 2.依賴範圍 3.依賴傳遞性 4.依賴的原則 04-Maven依賴管理

SSM整合---使用Maven依賴管理&構建

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

maven依賴管理

建三個專案,Parent作為父專案、test1、test2作為子專案。 在父專案Parent中依賴項如下: <dependencies> <dependency> <groupId>junit</groupId> &l

spring-boot中關於Maven依賴管理的一個問題

背景: 今天在使用spring boot整合redis的時候,發現一個現象對於spring boot的其他pom依賴都可以不配置version版本號 <dependency> <groupId>org.springfra

Maven依賴管理之BOM

[TOC] ### 什麼是BOM BOM全稱是Bill Of Materials,譯作材料清單。BOM本身並不是一種特殊的檔案格式,而是一個普通的POM檔案,只是在這個POM中,我們羅列的是一個工程的所有依賴和其對應的版本。該檔案一般被其它工程使用,當其它工程引用BOM中羅列的jar包時,不用顯示指定具體的

Maven依賴管理系統

【背景】 之前在領英上讀到一篇軟文,《Managing Software Dependency at Scale》,講述了領英是如何處理模組之間的依賴解析,以及如何去更好的處理依賴關係以及依賴管理。感覺在一家多產品的公司,在產品有可能相互依賴的情況下,都應該有這麼一套系統,來進行依賴關係的管理以及維護。 所以

maven依賴管理

-- tomcat7 oca bsp nco 測試的 plugins 1.2 聚合 1. 基本配置: <!-- dependencies 該標簽下可以配置多個依賴 --> <dependencies> <!-- 配置一個依賴

MyEclipse&Maven項目管理教程:創建Java Maven依賴項目(轉載)

file 索引 ons art 依賴性 創建 ucc 安裝文件 添加   本教程介紹了如何通過MyEclipse Web項目,或者其他任何Maven項目來創建一個通用的Java/Maven項目。這些步驟包括基礎的創建和使用Maven依賴。您將學習到:   創建一個Maven

maven入門(8)maven依賴管理

收藏 傳遞 png chm nco 部分 設置 logging tar 我們項目中用到的jar包可以通過依賴的方式引入,構建項目的時候從Maven倉庫下載即可。 1. 依賴配置 依賴可以聲明如下: Xml代碼 <project>

maven課程 專案管理利器-maven 3-7 maven依賴範圍 2星

本節主要講了maven的依賴範圍: 在pom.xml   dependency標籤的scope中。eclipse中有編譯的路徑,maven中有編譯,執行,測試的路徑。   1  scope為test,為測試路徑,多為junit jar包 2  scope為compile,

maven課程 專案管理利器-maven 3-8 maven依賴傳遞 4星

本節主要講了 1  maven依賴傳遞 2  maven排除依賴 3  零散知識點   1  maven依賴傳遞   2  maven排除依賴 3  零散知識點  a  eclipse中pom.xml右鍵run as兩個build,他們的區別 無快捷鍵的bui

maven工程依賴配置 (將功能模組打包為獨立jar,使用maven進行管理

第一步:建立maven工程 (eclipse) 1): 2) 3)  4) 拓展公共模組pom檔案如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt

版本依賴管理Maven 學習手冊

0x01 為什麼使用版本依賴工具Maven? 1.1 倉庫簡介 沒有Maven 時,專案用到的.jar 檔案通常需要拷貝到lib目錄下,專案多了,拷貝的檔案副本就多了,佔用磁碟空間,且難以管理。 Maven使用 一個稱之為倉庫的目錄,根據構件的座標統一儲存這些構件的唯一副本,在專案中通過依賴宣告

第四十一章:Maven自動化構建依賴管理工具

1Maven簡介 Maven是一款自動化“構建”和“依賴”管理的工具。 2提出問題 2.1jar包管理問題 jar包從哪來的? 官網下載 CSND…… 51CTO…… …… jar包之間存在依賴關係 A jar包中用到了B jar包中的類,就說A依賴B。jar包之間普遍存在的依

Maven(3) -- 依賴管理

先挖個坑,以後慢慢填。 Maven依賴主要就包括這幾個方面: 依賴 依賴範圍 compile、test、provided、runtime 依賴傳遞 <dependencies> <dependency> <gr

maven專案聚合與繼承、依賴管理、佔位符、構建管理、多套配置

本文引用部落格地址:https://my.oschina.net/mzdbxqh/blog/846018 本文開始對study-parent模組的pom.xml進行配置。該檔案的角色是整個Maven的Parent。文中將對Maven的聚合與繼承、依賴管理、佔位符、構建管理、多套配置等概念進行解釋。