属性标签 <properties>
1. 将工程项目下导入的依赖版本进行集中管理
如下例:
我们就能清晰地知道哪个依赖包对应哪个版本。
那么对于数据库的配置信息,是否也支持呢?
答案是肯定的。
通过自定义标签,对数据库的配置信息进行统一管理。
如下例:
回到配置文件中用占位符替代
但要使系统识别占位符,就需要扩大pom文件的作用范围
<filtering> 标签用于配置识别过滤器,用于配置文件中识别占位符。
接着我们进入测试
打包完成后,进入目录
打开jar包,打开配置文件
我们可以看见配置信息已经成功配置上。
下面我们来讲讲如何在复杂多样的开发环境中对maven工程进行配置
不同的开发环境所需的配置信息也不相同
开发环境可以分为三种:开发(dev) 、测试(test)、生产(pro)
<profiles> --> <properties> : 我们将配置信息写在properties标签下
以下就是对三种开发环境的配置示例:
接着设置是否为默认启动的环境
设置标签为 <activation> --> <activeByDefault>
为了效果显著些,我们把它的端口号改为如下
执行maven的package生命周期后,重新打开配置文件。我们可以看到默认启动的环境配置已经配置上
第二种方法,也是开发行业用的最多的方法:直接执行命令行
输入指令: mvn install -P 环境ID
即可指定执行的开发环境,简单高效。当然还是得配置,不然没有环境id
开发中,测试对我们来说很有用。但是有些时候测试用例多了,很多信息都会被刷下去,而且执行效率很低。如果我们不想要测试,又该怎么办呢
下面是一种很简单的方法,直接点击IDEA下的maven的设置,就可以跳过测试。
如下例:
但是这样是把所有项目模块的test生命周期都跳过了,但是有些时候我们更希望只跳过我们不要的测试。那么就考虑使用下面的这种方式
我们自己去配置maven的管理测试插件
先运行package生命周期,找到插件的工件id
接着配置插件
<plugins> --> <configuration> --> <skipTests> : 设置是否跳过测试
为什么没有<groupId>标签? 是因为这个测试插件是maven内部自带的
这样启动生命周期,我们也将看不到测试的出现
还可以对测试进行更加精细的管理,下面两个标签相信都不陌生
<include> 包含 <exclude> 排除
如下例,代码意为:排除对该工程的任意包下的这种测试类进行测试
运行结果我们也看不到这个类被测试
收工!