ceylon fat-jar [--cacherep=<url>] [--cwd=<dir>] [--exclude-module=<moduleOrFile>...] [--force] [--jdk-provider=<module>] [--link-with-current-distribution] [--manifest-entry=<key:value>...] [--maven-overrides=<file>] [--no-default-repositories] [--offline] [--out=<file>] [--overrides=<file>] [--rep=<url>...] [--resource-root=<directory>] [--run=<toplevel>] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] <module...>


Gerate an executable fat jar which contains the given module and all its run-time dependencies, including the Ceylon run-time, which makes that jar self-sufficient and executable by java as if the Ceylon module was run by ceylon run.



Specifies the folder to use for caching downloaded modules. (default: ~/.ceylon/cache)


Specifies the current working directory for this tool. (default: the directory where the tool is run from)

--exclude-module=moduleOrFile, -x moduleOrFile

Excludes modules from the resulting fat jar. Can be a module name or a file containing module names. Can be specified multiple times. Note that this excludes the module from the resulting fat jar, but if your modules require that module to be present at runtime it will still be required and may cause your application to fail to start if it is not provided at runtime.


Force generation of mlib folder with multiple versions of the same module.


Alternate JDK provider module (defaults to the current running JDK).

Downgrade which were compiled with a more recent version of the distribution to the version of that module present in this distribution (1.3.3). This might fail with a linker error at runtime. For example if the module depended on an API present in the more recent version, but absent from 1.3.3. Allowed arguments are upgrade, downgrade or abort. Default: upgrade

--manifest-entry=key:value, -e key:value

Specify a manifest entry for the resulting fat jar, of form :. Can be specified multiple times.


Specifies the XML file to use to load Maven artifact overrides. See for information. Deprecated: use --overrides.


Indicates that the default repositories should not be used.

--offline, -L

Enables offline mode that will prevent connections to remote repositories.

--out=file, -o file

Target fat jar file (defaults to {name}-{version}.jar).

--overrides=file, -O file

Specifies the XML file to use to load module overrides. See for information. Experimental.


Specifies a module repository containing dependencies. Can be specified multiple times. (default: modules, ~/.ceylon/repo,

--resource-root=directory, -R directory

Sets the special resource directory whose files will end up in the root of the resulting WAR file (default: web-content).


Specifies the fully qualified name of a toplevel method or class with no parameters. The format is: with :: acting as separator between the package name and the toplevel class or method name (defaults to {module}::run).


Specifies the system repository containing essential modules. (default: $CEYLON_HOME/repo)

--timeout=seconds, -T seconds

Sets the timeout for connections to remote repositories, use 0 for no timeout (default: 20).

--verbose[=flags], -d

Produce verbose output. If no flags are given then be verbose about everything, otherwise just be verbose about the flags which are present. Allowed flags include: all, loader.