scope的5個類型作用
- 默認值爲compile,不配置也存在。
參與項目的編譯,測試。
打包時會包含進去
<scope>compile</scope>
- runtime參與打包
- provided,不會被打包,作用在編譯測試
<scope>provided</scope>
- import只能用在dependencyManagement中,用來解決maven單繼承和公共依賴問題,例如需要繼承多個父類,而maven只支持單繼承,此時在dependencyManagement中添加即可
<scope>import</scope>
- test不會被打包,只作用在測試時
- system不參與打包
pom依賴
- parent
parent包中relativePath的作用
指定依賴jar包的獲取地址
獲取順序:
relativePath路徑—>本地倉庫—>遠程倉庫
如果relativePath爲空,則直接從本地倉庫或遠程倉庫獲取jar包
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- properties
相當於pom依賴的配置文件
當多個依賴的版本號需要重複填寫時,可以把版本號寫在此處,後面調用即可
<properties>
<!--文件拷貝時的編碼-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--編譯時的編碼-->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
<spring.aop>5.1.3.RELEASE</spring.aop>
</properties>
<!--調用方法如下-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.aop}</version>
</dependency>
dependencyManagement
相當於jar包的版本管理庫,如果需要保持項目中jar包版本一致,可以在此處聲明版本號,則下方引入依賴時可以省略版本號
此處爲固定寫法,不需要變動
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<!-- type屬性用於指定maven使用maven pom plugin插件處理 -->
<type>pom</type>
<!-- import屬性只能用在dependencyManagement -->
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
配置遠程倉庫
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>