This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.18.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.18.x by this push: new da5aacd839e CAMEL-18424: camel-jbang - Dependency downloaded issue with camel-aws-s3 da5aacd839e is described below commit da5aacd839e39960db48b0a4599025164bd1e8ba Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Aug 24 11:23:26 2022 +0200 CAMEL-18424: camel-jbang - Dependency downloaded issue with camel-aws-s3 --- .../camel/main/download/MavenDependencyDownloader.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java index 853cb5e1db4..130660862d8 100644 --- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java +++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java @@ -32,6 +32,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; import org.apache.camel.support.service.ServiceHelper; import org.apache.camel.support.service.ServiceSupport; +import org.apache.camel.util.FileUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -238,17 +239,23 @@ public class MavenDependencyDownloader extends ServiceSupport implements Depende ClassLoader cl = camelContext.getApplicationContextClassLoader(); if (cl instanceof URLClassLoader) { URLClassLoader ucl = (URLClassLoader) cl; + // create path like target to match against the file url + String urlTarget = groupId + "/" + artifactId; + urlTarget = urlTarget.replace('.', '/'); + urlTarget += "/" + version + "/" + target + ".jar"; + urlTarget = FileUtil.normalizePath(urlTarget); // windows vs linux for (URL u : ucl.getURLs()) { String s = u.toString(); - if (s.contains(target)) { + s = FileUtil.normalizePath(s); + if (s.contains(urlTarget)) { // trigger listener if (listener) { for (DownloadListener dl : downloadListeners) { dl.onDownloadDependency(groupId, artifactId, version); } + // already on classpath + return true; } - // already on classpath - return true; } } }