日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第4章 maven依赖特性

發布時間:2023/12/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第4章 maven依赖特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第4章 maven依賴特性

本章詳細介紹maven的依賴特性和依賴范圍,如何排除依賴。

4.1 什么是依賴傳遞

舉個例子
在非maven項目中,你需要使用spring功能,你會想到導入spring的jar包,那么,srping又需要其他依賴jar包支持,所以你又需要去導入其他jar包,多次反復嘗試啟動項目后,你終于成功了!
maven項目就不需要這么麻煩,你只要在pom.xml文件中,引入spring相關配置,那么他會自動引入其他依賴jar包,這就是maven的依賴傳遞。

以下是一個配置文件,僅引入了spring和junit兩個依賴配置,但maven已自動導入了其他的jar包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.group</groupId><artifactId>simple</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>simple</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><org.springframework-version>3.1.0.RELEASE</org.springframework-version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies> </project>

4.2 依賴特性的特點

4.2.1 依賴范圍

什么是依賴范圍?
依賴范圍指:決定依賴特性在構建的哪個階段起作用。
舉個例子,我需要做junit測試,所以需要引入junit相關jar,但我在發布項目時,我又不需要這個jar,所以(你有這個需求,maven肯定有這個解決辦法),在配置時,需要指定依賴的范圍。

在配置依賴時,scope標簽就是用來規范依賴范圍。

范圍描述
compile默認值,適用于所有階段,會隨著項目一起發布。
provided類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。
runtime只在運行時使用,如JDBC驅動,適用運行和測試階段。
test只在測試時使用,用于編譯和運行測試代碼。不會隨項目發布。
system類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查找它。

4.2.2 排除依賴

因為maven的依賴傳遞特性,所以很有可能一些你不需要的依賴也會包含在工程類路徑中,為了解決這種情況,maven已經引入了依賴排除概念。

1. 如何使用排除依賴
在pom.xml文件中,<dependency>標簽中加上<exclusions>標簽

<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.5.1</version><exclusions><exclusion><groupId>tomcat</groupId><artifactId>jasper-runtime</artifactId></exclusion><exclusion><groupId>tomcat</groupId><artifactId>jasper-compiler</artifactId></exclusion></exclusions> </dependency>

例如以上代碼,在使用hadoop-common時,排除掉jasper-runtime, jasper-compiler兩個依賴jar。

2.使用通配符進行依賴排除
有的時候,依賴過多,我們不需要一個個的去排除,可使用通配符來實現

<dependency><groupId>org.apache.phoenix</groupId><artifactId>phoenix-core</artifactId><version>4.5.0-HBase-1.0</version><exclusions><exclusion><groupId>org.mortbay.jetty</groupId><artifactId>*</artifactId></exclusion></exclusions> </dependency>

例如以上代碼,排除groupId 是org.mortbay.jetty的所有jar包。


首頁傳送門

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

轉載于:https://www.cnblogs.com/jdbc/p/4975491.html

總結

以上是生活随笔為你收集整理的第4章 maven依赖特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。