Maven pom.xml配置小記

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/luowangcan/article/details/80731443

pom.xml配置

  • Maven parent.relativePath,默認值爲pom.xml

    查找順序: relativePath元素中的地址–本地倉庫–遠程倉庫

    <relativePath/>: 設置爲空值,始終從倉庫獲取,不從本地獲取

  • optional, ProjectA的某個依賴B添加了<optional>true</optional>,當其他項目依賴Project A的時候,B不會被傳遞依賴進來

  • 多環境Maven配置

profile配置:

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>uat</id>
            <properties>
                <profileActive>uat</profileActive>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profileActive>prod</profileActive>
            </properties>
        </profile>
    </profiles>

資源配置:

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
               <exclude>application.yml</exclude>
                <exclude>application-uat.yml</exclude>
                <exclude>application-dev.yml</exclude>
                <exclude>application-prod.yml</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>application.yml</include>
                <include>application-${profileActive}.yml</include>
            </includes>
        </resource>
</resources>

配置文件中這樣配置

spring:
  profiles:
    active: @profileActive@
  • dependencies與dependencyManagement的區別

    dependencies即使在子項目中不寫該依賴項,那麼子項目仍然會從父項目中繼承該依賴項(全部繼承)

    dependencyManagement裏只是聲明依賴,並不實現引入,因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,並且沒有指定具體版本,纔會從父項目中繼承該項,並且version和scope都讀取自父pom;另外如果子項目中指定了版本號,那麼會使用子項目中指定的jar版本。

    如:在項目中添加spring cloud依賴

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

然後在dependcies裏面添加需要的依賴

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章