Maven中pom.xml文件配置

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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章