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]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!