nep*_*tom 7 java junit maven properties-file spring-boot
我继承的Maven项目有一些JUnits中使用的资源文件。
这些文件在属性文件中被称为绝对路径。
我们假设 Maven 项目位于myproject主项目所在的 目录下pom.xml。
一个config.properties文件有:
keystore.file=C:/Users/tom/myproject/web/src/test/resources/myfile.jks
Run Code Online (Sandbox Code Playgroud)
我想从 Maven 项目的相对路径引用该资源。
所以我一直在尝试类似的事情:
keystore.file=${project.basedir}/web/src/test/resources/myfile.jks
Run Code Online (Sandbox Code Playgroud)
该项目使用 SpringBoot,并且在运行 JUnit 时抱怨:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'project.basedir' in string value "${project.basedir}/web/src/test/resources/myfile.jks"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)
Run Code Online (Sandbox Code Playgroud)
尝试不同的方法后,找到了解决我的问题的方法。
在 Spring Boot 中添加这一行application.properties:
maven.basedir=@project.basedir@
Run Code Online (Sandbox Code Playgroud)
然后在config.properties:
keystore.file=${maven.basedir}/web/src/test/resources/myfile.jks
Run Code Online (Sandbox Code Playgroud)
让它发挥作用。
检查:Spring Boot 使用 Maven 自动属性扩展。
| 归档时间: |
|
| 查看次数: |
10996 次 |
| 最近记录: |