maven 聚合 和 继承

聚合:用于统一管理模块。防止依赖的其中一个模块修改之后自己完成重新编译,导致其他模块无法正常使用。这时需要一个聚合工程对模块进行统一的编译安装

继承中的工程使用 <dependencyManagement> 用来依赖管理,继承解决了依赖版本不统一的问题。

<dependencyManagement>
    <dependencies>
    </dependencies>
</dependencyManagement>

子工程 使用 <parent> 定义父工程 ,<relativePath> 指向父工程的pom.xml,子工程的 groupId 和 version 可以省略

继承用于构建项目,继承用于配置项目,两者的打包方式都是 pom

在配置文件中使用pom中自定义的属性,需要再pom文件中 设置 <resource>,${project.basedir} 表示所有项目的基本路径

<build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
</build>

如果需要在testResources 中使用,只需要改变 resources 和 resource 标签名

<build>
        <testResources>
            <testResource>
                <directory>${project.basedir}/src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
</build>

多环境开发

pom文件

<profiles>
    <profile>
        <id>env_1</id>
        <properties>
        <!-- 自定义属性 -->
        </properties>
        <activation>
            <!-- 设置默认启动环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>env_2</id>
        <properties>
        <!-- 自定义属性 -->
        </properties>
    </profile>
</profiles>

使用指定的配置环境
mvn [构建指令] -p [环境id]

posted @   HypoPine  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示