<properties> 标签 含义是属性,相当于定义了一个pom专用的字典在需要的地方调用就可以了,一个很常用的现象减少属性的
重复填写,比如你有两个依赖版本都是1.28,这时你就可以将1.28定义为一个properties在对应的地方引用就行了。
举个栗子:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>1.2.6</version>
</dependency>
没定义properties之前的。
定义properties之后的。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>1.2.6</spring.version>
<developer.organization><![CDATA[xy公司]]></developer.organization>
</properties>
以上内容就改成了
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<profiles>标签:
配置不同环境选项,一般环境分为开发环境,测试环境,本地环境在mvn打包的是加上对应mvn clean install -P xxx
<profiles>
<profile>
<id>local_dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>local_dev</build.profile.id>
</properties>
</profile>
<profile>
<id>test_63</id>
<properties>
<build.profile.id>test_63</build.profile.id>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<build.profile.id>online</build.profile.id>
</properties>
</profile>
</profiles>
<build>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>application-${build.profile.id}.yaml</include>
<include>application.yaml</include>
</includes>
</resource>
</build>
举个栗子
mvn clean install -P online 这个打包命令就意味着 online对应的被激活 <include>application-online.yaml</include> 打包是这里就会被打成这样的
<resource> 这个标签是指打包的时候会将源文件中的那些文件打包进去,那些文件不打包进去
举个栗子:
在很多时候需要将src/main/java 中的配置文件打包时候打包进去(比如我今天做的智能问答微服务分词一直解析不成功,后来发现原来是maven打包的时候没有将src/main/java 中的配置文件打包进去)
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
<include>**/*.dic</include>
<!--
<include>**/*.cfg.xml</include>-->
</includes>
<filtering>false</filtering>
</resource>
<build> 标签就是 打包编译的时候用的
<plugins> 用来添加插件的