java - 如何指定可执行 Spring Boot Jar 中存在的 WireMock 映射和文件的路径?

标签 java spring spring-boot wiremock wiremock-standalone

我使用“spring-cloud-contract-wiremock”依赖项将 WireMock 构建为 spring boot 应用程序。 我将映射和 _files 保存在 src/test/resources 文件夹中。

当我从 IDE 运行应用程序时,它运行良好。但是当我直接运行 Jar 时,它给出了 fileNotFoundException。

<pre>java.lang.RuntimeException: java.io.FileNotFoundException: C:\Users\{user}\Downloads\src\test\resources\__files\....

我的 application.yml 文件内容:

spring:
main:
    web-application-type: none
  application:
    name: wiremock-service
    
wiremock:
  server:
    files: classpath:/__files
    stubs: classpath:/mappings

主类:

public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    
    @Bean
    public Options wireMockOptions() throws IOException {

        final WireMockConfiguration options = WireMockSpring.options();
        //options.withRootDirectory("classpath*:");
        options.port(9990);

        return options;
    }

}

如何指定 _files 和映射的路径,以便我可以从任何位置独立运行?

最佳答案

感谢大家的建议。

我能够通过在我的主类中添加以下内容来使其工作

FileSource fileSource = new SpringClasspathResourceFileSource("stub");
options.fileSource(fileSource);

SpringClasspathResourceFileSource 是实现FileSource 接口(interface)的普通类。 “ stub ”是我在 src/main/resources 中创建的文件夹。 fileSource 对象已从应用程序的类路径返回文件夹的 uri。

关于java - 如何指定可执行 Spring Boot Jar 中存在的 WireMock 映射和文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63069199/

相关文章:

spring-mvc - Spring Boot 中的 WebMvcConfigurationSupport 替换是什么?

java - 无法使用 Spring 处理程序捕获 LDAP CommunicationException

java - 如何修复 UUID 类型的方法参数“''缺少 URI 模板变量 ' " 'uuid'?

java - lucene删除记录,已弃用?

java - 何时实现WebMvcConfigurer来配置Spring MVC?

java分割日期时间段并返回数组

spring - Multipart API 在带有 Spring Boot 的 Jersey 中不起作用

java getLocalHost() UnknownHostException/etc/hosts 文件与 linux api 不同?

java - JPA/Hibernate在获取数据时非常慢

java - 使用 Spring 挂起查询远程 Hive server2