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 <[email protected]>
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) {