利用 maven-resources-plugin 插件,用表达式替换 resources 文件中的内容
- 使用背景:
在 spring-cloud 的学习到 Eureka 这个环节时,有一个小功能,就是当访问 Eureka 服务端的时候,可以点击 Eureka 生成的超链接,查看 client 的信息
-
点击进去后,要显示 client 服务返回的信息
- 代码实例
-
也就是说,groupId,artifactId,version 等等信息,不是写死在配置文件里面,而是取的pom.xml的值。在这个背景下,我们在 pom.xml 就写下了如下配置,来完成我们的需求!
<build> <finalName>microservicecloud</finalName> <resources> <resource> <directory>src/main/resources</directory> <!-- 指定过滤的文件夹 --> <filtering>true</filtering> <!-- 开启过滤 --> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <delimiters> <!-- 指定过滤的表达式 <delimit>$</delimit> : 表示 过滤开头为 $ 结束为 $ 的内容,例如 $project.versionb$ <delimit>${*}</delimit> 表示 过滤${}包裹的内容,例如 ${project.vserion} --> <delimit>${*}</delimit> </delimiters> </configuration> </plugin> </plugins> </build>
-
接下来,在 src/main/resources/ 下面的 application.yml 文件中,就可以使用如下的表达式,来达到目地
-
-
得到的结果