From 51045cc97e75bf520a2ae68fa3993c148e27e8aa Mon Sep 17 00:00:00 2001 From: Huneea Date: Wed, 31 Aug 2022 01:39:50 +0900 Subject: [PATCH] fix: Fixed an issue that could not find a resources in the jar file - Issues that occur when executing jar --- .../contract/wiremock/file/ResourcesFileSource.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java index 379cbf076c..5dfaae76c2 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java @@ -110,6 +110,12 @@ public class ResourcesFileSource implements FileSource { public BinaryFile getBinaryFileNamed(String name) { for (FileSource resource : this.sources) { try { + if (resource instanceof ClasspathFileSource) { + ClasspathFileSource classpathFileSource = (ClasspathFileSource) resource; + if (classpathFileSource.exists() && compressedResource(classpathFileSource.getUri())) { + return classpathFileSource.getBinaryFileNamed(name); + } + } UrlResource uri = new UrlResource(resource.getUri()); if (uri.exists()) { Resource relativeResource = new UrlResource(uri.getURI() + "/" + name); @@ -117,9 +123,10 @@ public class ResourcesFileSource implements FileSource { return resource.getBinaryFileNamed(name); } } - } - catch (IOException e) { - // Ignore + } catch (RuntimeException e) { + // Ignore - find next stub file + } catch (IOException e) { + // Ignore - find next stub file } } throw new IllegalStateException("Cannot create file for " + name);