maven的进阶内容
七
六、
五、
四、属性
1、在配置坐标时,比如 spring mvc、spring test、springjdbc都是用的一个spring版本,如果想要修改该版本,就需要修改三个地方;但是把这个版本添加成属性,在用到这个属性的地方添加属性变量,改属性值就可以改到这三处,避免修改遗漏
<!-- 定义属性-->
<properties>
<spring.version>5.2.10.RELEASE</spring.version>
<junit.version>4.12</junit.version>
</properties>
2、${属性名称}
<!-- 导入springmvc坐标,引用属性-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
3、
4、
三、继承
1、功能模块多的情况下出现重复配置,可以用parent模块进行简化配置开发,让其他的模块集成parent配置
2、继承功能要在子类工程中配置,表明该工程继承parent工程,把子工程中的依赖放到父工程中,子工程中不再保留
<!-- 配置当前工程继承 parent 工程-->
<parent>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>parent_01</artifactId>
<relativePath>../parent_01/parent_01/pom.xml</relativePath>
</parent>
3、不同的子工程中依赖的不一样的部分,可以在父工程中创建管理,用于子工程自行选择是否要对这部分进行依赖。注意是新建了<dependencyManagement> 标签,下面还有 <dependencies>,再是 <dependencie>
<!-- 配置子工程中可以选择的依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.20</version>
</dependency>
</dependencies>
</dependencyManagement>
4、子工程要使用时,就在自己的pom文件中录入坐标,但是不写版本,否则就没有继承到父工程的依赖了
二、聚合
1、创建一个module,用来专门管理各个模块之间的依赖配置等关系
2、把pom文件中的打包方式修改为 pom;(每个maven工程都有对应的打包方式,默认是jar,web工程的打包方式时war)
<groupId>org.example</groupId>
<artifactId>parent_01</artifactId>
<packaging>pom</packaging>
<modules>
<module>../../mvcTest</module>
</modules>
3、在配置中添加 modules配置,设置当前的聚合工程要管理的子模块名称(配置哪些module要被这个module管理),没添加的就不会被parent模块管理到
不同的module添加顺序随意,在构建的时候会先构建没有依赖关系的
4、在当前module中启动 compile,就会把被管理的module的依赖一起构建
一、分模块开发
1)在同一个project下,新建module,创建不同的模块,比如把dao层单独拿出来创建新模块;创建时,要注意文件层级,不要创建成其他module下了
2)一个项目有很多个模块,每建一个模块都会创建pom文件,其中各个模块之间如何进行关联或者交互,是通过配置pom文件的依赖来进行绑定
3)模块多了,pom文件中出现重复的依赖配置或者冲突的依赖,此时引入聚合和继承
4)聚合和继承就是创建一个单独的module,父module,该module下没有代码,只在pom文件中进行编辑,管理整个project的依赖配置
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决