Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Unknown
Description
We can auto detect when a new component is in use, then try to auto download its JAR - we can do this for kamelets because their spec list the deps. But for regular routes, then we have only the uri scheme name
```
~/Desktop ❯ CamelJBang run foo.yaml --max-messages=10 --debug-level=info
Starting Camel JBang!
A new lock file was created on /Users/davsclaus/Desktop/./.run14397159960467045040.camel.lock. Delete this file to stop running
17:00:17.745 [main] INFO org.apache.camel.main.BaseMainSupport - Auto-configuration summary
17:00:17.749 [main] INFO org.apache.camel.main.BaseMainSupport - camel.main.lightweight=true
17:00:17.749 [main] INFO org.apache.camel.main.BaseMainSupport - camel.main.routesIncludePattern=file:foo.yaml
17:00:17.749 [main] INFO org.apache.camel.main.BaseMainSupport - camel.main.name=CamelJBang
17:00:17.749 [main] INFO org.apache.camel.main.BaseMainSupport - camel.main.durationMaxMessages=10
17:00:17.749 [main] INFO org.apache.camel.main.BaseMainSupport - camel.component.kamelet.location=classpath:/kamelets,github:apache:camel-kamelets
org.apache.camel.FailedToCreateRouteException: Failed to create route route2 at: >>> To[aws2-kinesis:mystream?proxyPort=8080&trustAllCertificates=true] <<< in route: Route(route2)[From[timer:yaml?period=1000] -> [SetBody[const... because of No endpoint could be found for: aws2-kinesis://mystream?proxyPort=8080&trustAllCertificates=true, please check your classpath contains the needed Camel component jar.
at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:240)
at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74)
at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:851)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:741)
at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2773)
at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2491)
at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2510)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:246)
at org.apache.camel.main.KameletMain.doStart(KameletMain.java:114)
at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:114)
at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:73)
at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:32)
at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine.execute(CommandLine.java:2078)
at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:42)
at main.CamelJBang.main(CamelJBang.java:30)
```