Marco Carletti created CAMEL-21784:
--------------------------------------
Summary: camel-jbang: running app from maven project should
support at least the exported projects
Key: CAMEL-21784
URL: https://issues.apache.org/jira/browse/CAMEL-21784
Project: Camel
Issue Type: Improvement
Components: camel-jbang
Affects Versions: 4.10.0
Environment: {code:bash}
$ camel version
JBang version: 0.123.0
Camel JBang version: 4.10.0
{code}
Reporter: Marco Carletti
Running camel from maven project as stated in the
[documentation|https://camel.apache.org/manual/camel-jbang.html#_running_a_maven_or_gradle_based_project]
won't load all the necessary dependencies, maybe it should support jbang
generated project.
i.e. exporting to Spring Boot runtime will generate a correct Maven project but
it is unable to run it:
{code:bash}
$ camel init cheese.xml
$ camel export --runtime=spring-boot --name=sb-app
Generating fresh run data
Exporting as Spring Boot project to: .
$ camel run pom.xml
2025-02-24 10:50:22.891 INFO 98372 --- [ main]
org.apache.camel.main.MainSupport : Apache Camel (JBang) 4.10.0 is
starting
2025-02-24 10:50:23.083 INFO 98372 --- [ main]
org.apache.camel.main.MainSupport : Using Java 17.0.14 with PID 98372.
Started by marco in /tmp/sb-test
2025-02-24 10:50:23.154 INFO 98372 --- [ main]
org.apache.camel.main.BaseMainSupport : Properties location:
file:src/main/resources/application.properties
2025-02-24 10:50:23.208 INFO 98372 --- [ main]
org.apache.camel.main.ProfileConfigurer : The application is starting with
profile: dev
2025-02-24 10:50:27.485 INFO 98372 --- [ main]
.main.download.MavenDependencyDownloader : Resolved:
org.apache.camel:camel-java-joor-dsl:4.10.0 (took: 4s257ms)
2025-02-24 10:50:30.724 INFO 98372 --- [ main]
.main.download.MavenDependencyDownloader : Resolved:
org.apache.camel:camel-endpointdsl:4.10.0 (took: 3s237ms)
2025-02-24 10:50:34.251 INFO 98372 --- [ main]
.main.download.MavenDependencyDownloader : Resolved:
org.apache.camel:camel-xml-io-dsl:4.10.0 (took: 3s523ms)
org.joor.ReflectException: Compilation error:
/org/example/project/sbapp/CamelApplication.java:3: error: package
org.springframework.boot does not exist
import org.springframework.boot.SpringApplication;
^
/org/example/project/sbapp/CamelApplication.java:4: error: package
org.springframework.boot.autoconfigure does not exist
import org.springframework.boot.autoconfigure.SpringBootApplication;
^
/org/example/project/sbapp/CamelApplication.java:6: error: cannot find symbol
@SpringBootApplication
^
symbol: class SpringBootApplication
at
org.apache.camel.language.joor.MultiCompile.compileUnit(MultiCompile.java:164)
at
org.apache.camel.language.joor.MultiCompile.compileUnit(MultiCompile.java:75)
at
org.apache.camel.dsl.java.joor.JavaRoutesBuilderLoader.compileResources(JavaRoutesBuilderLoader.java:217)
at
org.apache.camel.dsl.java.joor.JavaRoutesBuilderLoader.preParseRoutes(JavaRoutesBuilderLoader.java:105)
at
org.apache.camel.main.RoutesConfigurer.doConfigureModeline(RoutesConfigurer.java:462)
at
org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:388)
at
org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:824)
at
org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:561)
at org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:79)
at org.apache.camel.main.KameletMain.autoconfigure(KameletMain.java:759)
at
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:909)
at
org.apache.camel.main.MainSupport.initCamelContext(MainSupport.java:346)
at org.apache.camel.main.KameletMain.doInit(KameletMain.java:375)
at
org.apache.camel.support.service.BaseService.init(BaseService.java:85)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:115)
at
org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1447)
at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:908)
at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:341)
at
org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
at
org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
at
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
at picocli.CommandLine.execute(CommandLine.java:2174)
at
org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:195)
at
org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:72)
at main.CamelJBang.main(CamelJBang.java:36)
2025-02-24 10:50:34.726 INFO 98372 --- [ngupInterceptor]
e.camel.main.DefaultMainShutdownStrategy : JVM shutdown hook triggered by
SIGTERM (PID 98372). Shutting down Apache Camel (JBang) 4.10.0
2025-02-24 10:50:34.728 INFO 98372 --- [ngupInterceptor]
e.camel.main.DefaultMainShutdownStrategy : Apache Camel (JBang) 4.10.0 is
shutdown
{code}
similar commands exporting to Quarkus application has not compilation problems
but the route isn't loaded as expected:
{code:bash}
$ camel init cheese.xml
$ camel export --runtime=quarkus --name=quarkus-app
$ camel run pom.xml
2025-02-24 11:49:34.837 INFO 121724 --- [ main]
org.apache.camel.main.MainSupport : Apache Camel (JBang) 4.10.0 is
starting
2025-02-24 11:49:35.028 INFO 121724 --- [ main]
org.apache.camel.main.MainSupport : Using Java 17.0.14 with PID 121724.
Started by marco in /tmp/q-test
2025-02-24 11:49:35.096 INFO 121724 --- [ main]
org.apache.camel.main.BaseMainSupport : Properties location:
file:src/main/resources/application.properties
2025-02-24 11:49:35.155 INFO 121724 --- [ main]
org.apache.camel.main.ProfileConfigurer : The application is starting with
profile: dev
2025-02-24 11:49:40.175 INFO 121724 --- [ main]
.main.download.MavenDependencyDownloader : Downloading:
org.apache.camel:camel-xml-io-dsl:4.10.0 (elapsed: 5s)
2025-02-24 11:49:40.800 INFO 121724 --- [ main]
.main.download.MavenDependencyDownloader : Resolved:
org.apache.camel:camel-xml-io-dsl:4.10.0 (took: 5s625ms)
2025-02-24 11:49:40.846 INFO 121724 --- [ main]
org.apache.camel.main.BaseMainSupport : Auto-configuration summary
2025-02-24 11:49:40.846 INFO 121724 --- [ main]
org.apache.camel.main.BaseMainSupport : [application.properties]
camel.main.routesIncludePattern = camel/cheese.xml
2025-02-24 11:49:40.848 WARN 121724 --- [ main]
.camel.dsl.xml.io.XmlRoutesBuilderLoader : Invalid XML document: XML Stream is
null
2025-02-24 11:49:40.987 INFO 121724 --- [ main]
he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
2025-02-24 11:49:41.017 INFO 121724 --- [ main]
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.10.0 (quarkus-app) is
starting
2025-02-24 11:49:41.200 INFO 121724 --- [ main]
e.camel.impl.engine.AbstractCamelContext : Routes startup (total:0)
2025-02-24 11:49:41.200 INFO 121724 --- [ main]
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.10.0 (quarkus-app)
started in 183ms (build:0ms init:0ms start:183ms boot:6s177ms)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)