gpt4 book ai didi

java - 从 SpringBoot 项目中的属性文件获取 Maven basedir

转载 作者:行者123 更新时间:2023-11-30 05:38:26 29 4
gpt4 key购买 nike

我继承的Maven项目有一些JUnits中使用的资源文件。
这些文件在属性文件中作为绝对路径引用。
我们假设 Maven 项目位于 myproject 下,主要的 pom.xml 位于其中。

config.properties 文件具有:

keystore.file=C:/Users/tom/myproject/web/src/test/resources/myfile.jks

我想从 Maven 项目的相对路径引用该资源。
所以我一直在尝试这样的事情:

keystore.file=${project.basedir}/web/src/test/resources/myfile.jks

我一直在阅读有关 resource filtering 的内容this question 中提到。

该项目使用 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)

最佳答案

尝试不同的方法后,找到了解决我的问题的方法。
在 Spring Boot application.properties 中添加这一行:

maven.basedir=@project.basedir@

然后在config.properties中:

keystore.file=${maven.basedir}/web/src/test/resources/myfile.jks

让它发挥作用。
检查:Spring Boot automatic Property Expansion Using Maven.

关于java - 从 SpringBoot 项目中的属性文件获取 Maven basedir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56173541/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com