This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push: new 9f9ef38 CAMEL-17738: camel-spring-boot - Cannot load resources from nested jar inside spring boot fat jar. Thanks to Brad Harvey for reporting and the suggested fix. 9f9ef38 is described below commit 9f9ef38a69fdf96947ecdfadb4fa7f42a6de8835 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Sun Mar 6 09:22:39 2022 +0100 CAMEL-17738: camel-spring-boot - Cannot load resources from nested jar inside spring boot fat jar. Thanks to Brad Harvey for reporting and the suggested fix. --- .../boot/FatJarPackageScanResourceResolver.java | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/FatJarPackageScanResourceResolver.java b/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/FatJarPackageScanResourceResolver.java index 760a1a0..249d294 100644 --- a/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/FatJarPackageScanResourceResolver.java +++ b/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/FatJarPackageScanResourceResolver.java @@ -45,8 +45,6 @@ public class FatJarPackageScanResourceResolver extends DefaultPackageScanResourc protected List<String> doLoadImplementationsInJar(String packageName, InputStream stream, String urlPath, boolean inspectNestedJars, boolean closeStream) { - - List<String> entries = new ArrayList<>(); JarInputStream jarStream = null; @@ -55,21 +53,18 @@ public class FatJarPackageScanResourceResolver extends DefaultPackageScanResourc JarEntry entry; while ((entry = jarStream.getNextJarEntry()) != null) { - String name = entry.getName(); - - name = name.trim(); - if (!entry.isDirectory() && !name.endsWith(".class")) { + String name = entry.getName().trim(); + if (inspectNestedJars && !entry.isDirectory() && isSpringBootNestedJar(name)) { + String nestedUrl = urlPath + "!/" + name; + log.trace("Inspecting nested jar: {}", nestedUrl); + List<String> nestedEntries = doLoadImplementationsInJar(packageName, jarStream, nestedUrl, false, false); + entries.addAll(nestedEntries); + } else if (!entry.isDirectory() && !name.endsWith(".class")) { name = cleanupSpringBootClassName(name); // name is FQN so it must start with package name if (name.startsWith(packageName)) { entries.add(name); } - } else if (inspectNestedJars && !entry.isDirectory() && isSpringBootNestedJar(name)) { - String nestedUrl = urlPath + "!/" + name; - log.trace("Inspecting nested jar: {}", nestedUrl); - - List<String> nestedEntries = doLoadImplementationsInJar(packageName, jarStream, nestedUrl, false, false); - entries.addAll(nestedEntries); } } } catch (IOException ioe) {