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的聚合與繼承、依賴管理、佔位符、構建管理、多套配置等概念進行解釋。