Camel CLI Launcher
Available as of Camel 4.13
The Camel CLI without JBang: a distribution with scripts to run it, and a self-contained executable JAR.
Download from Maven Central.
Using the fat-jar directly
java -jar camel-launcher-<version>.jar version
java -jar camel-launcher-<version>.jar run hello.java Using the distribution (recommended)
Extract the distribution archive:
unzip camel-launcher-<version>-bin.zip
# or
tar -xzf camel-launcher-<version>-bin.tar.gz And then use the provided scripts:
# On Unix/Linux
./bin/camel.sh [command] [options]
# On Windows
bin\camel.bat [command] [options] The distribution has the scripts in bin/ and the JARs in lib/. The scripts run java -jar lib/camel-launcher-<version>.jar, whose manifest names the other JARs of lib/ as its class path, which starts faster than the fat JAR.
Class data sharing
The scripts turn on class data sharing of the JVM: the classes that a command loads are kept in an archive, one per command and Camel version, so the command starts faster the next time. The first run of a command creates its archive, and takes longer, and the JVM creates it again when the JDK changes. The archives are in ${XDG_CACHE_HOME:-~/.cache}/camel-cli/cds (%LOCALAPPDATA%\camel-cli\cds on Windows), and can be removed at any time.
To turn it off, set CAMEL_CDS=false:
CAMEL_CDS=false camel version CDS or AOT options in JAVA_OPTS (such as -Xshare:off or -XX:AOTCache) turn it off too. A JVM without class data sharing (such as OpenJ9) ignores the options.
Benefits
-
No JBang installation required
-
Faster startup (no dependency resolution, class data sharing in the distribution)
-
Lower memory usage (only loads classes actually used)
-
Pinned Camel version — upgrade by downloading a newer launcher
Limitations
The --camel-version option is not supported — it requires JBang to dynamically download a different version. Use a different launcher JAR version instead, or install via JBang: jbang app install camel@apache/camel.
More Information
See Installing the Camel CLI Launcher for the website installer scripts, camel self-update, and `camel doctor’s multi-install detection, and the general Camel CLI documentation.