首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在蔚蓝管道上运行Spring @Value FileNotFound

在蔚蓝管道上运行Spring @Value FileNotFound
EN

Stack Overflow用户
提问于 2022-02-13 06:24:03
回答 1查看 122关注 0票数 1

在我的春季项目中,我有这样一个单元测试:

代码语言:javascript
复制
@ExtendWith(SpringExtension.class)
@WebMvcTest(BuildingController.class)
class BuildingControllerTest {

    @Value("classpath:building/CreateBuildingRequest.json")
    Resource createBuildingRequest;
...
}

我使用@value注释加载一个测试输入文件,并在我的IDE上成功运行测试用例。

但是当我在azure管道中运行测试用例时,我得到了fileNotFoundException,表示文件不存在。

这是我的天蓝色管道

代码语言:javascript
复制
trigger:
  - main

pool:
  vmImage: ubuntu-latest

steps:
  - task: Maven@3
    displayName: 'Package Maven'
    inputs:
      mavenPomFile: 'pom.xml'
      goals: 'verify'

意见:将@value改为

代码语言:javascript
复制
Resource createBuildingRequest = new ClassPathResource("Building/CreateBuildingRequest.json");

也会产生同样的问题,但是,如果像这样加载:

代码语言:javascript
复制
    public static InputStream loadFileAsStream(String path){
        return Thread.currentThread().getContextClassLoader().getResourceAsStream(path);
    }

在IDE和azure管道上工作,

为什么?

EN

回答 1

Stack Overflow用户

发布于 2022-02-14 01:36:35

我只需将我的测试文件文件夹名从“构建”更改为“构建”,它就能工作了。

但是,当我将文件夹作为“构建”,并将@value更改为@Value("classpath:Building/CreateBuildingRequest.json")时,它没有工作。

留下这篇文章来记录这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71098400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档