在resources
文件夹中有一个file.txt
。让Bean在Application启动生命周期时加载该文件:
在开发配置文件中,当编译和运行时,resources
文件夹被复制到build
(或maven中的target
)目录中,工作目录是相对于资源文件的,因此不需要特殊的路径或其他什么。
所以基本上是足够的定义文件名在application.properties
。
在测试配置文件中,工作目录是项目根目录,因此如果不提供resources
文件夹的完整相对路径,就无法再找到该文件。
是否有任何方法可以告诉Quarkus测试配置文件和/或Microprofile配置注解在资源文件夹中查找,以便在需要时加载一些资源?
我没有发现任何除了一个解决办法,以这种不整洁的个人资料的差异。
3条答案
按热度按时间jk9hmnmh1#
我通过使用配置文件解决了这个问题,在我的情况下,在测试中根文件夹似乎是根项目文件夹,而在开发模式下是目标文件夹,所以我在属性文件中使用了这个配置:
希望能帮到你。
7y4bm7vi2#
我不知道这里是否有很多我们可以自动完成的事情,gradle/maven控制测试过程的工作目录。使用maven至少你可以控制surefire进程的工作目录,请看这里的答案:Maven: change the directory in which tests are executed
55ooxyrt3#
可以使用
Resources.getResource
。举例来说:
resources/json/entity.json
然后:new File(Resources.getResource(“/json/entity.json”).getFile()