在代码中引用项目信息可以带来很多便利性,比如下面这个日志配置文件的代码片段(logback-spring.xml
)
1 | <configuration debug="false" scan="false"> |
这样,日志的路径跟Maven项目的artifactId
就关联上了(Gradle项目也一样),有利于统一管理,新项目直接把这个日志配置模版拷贝过期就行了。
此外,你也可以在application.yml
中访问这些属性,比如
1 | app.encoding: @project.build.sourceEncoding@ |
实现方式
如果你的项目继承了spring-boot-starter-parent
,那么恭喜,不用做任何配置,直接用就是了。如果不是,就需要在POM中进行以下配置:
在<build/>
配置里面添加以下内容
1 | <resources> |
添加maven插件
1 | <plugin> |
如果是
Gradle
项目,配置就更加简单了,具体参考Spring Boot 文档
2020-04-20 补充
实际使用发现,对于Spring Cloud项目,日志配置文件能直接解析project.artifactId
,但是普通的Spring Boot项目需要用springProperty
包装一下.
logback-spring.xml
1 | <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/> |
application.properties
1 | spring.application.name=@artifactId@ |