ceylon import-jar [--cacherep=<url>] [--cwd=<dir>] [--descriptor=<file>] [--dry-run] [--force] [--ignore-annotations] [--maven-overrides=<file>] [--missing-dependency-packages=<value>...] [--no-default-repositories] [--offline] [--out=<url>] [--overrides=<file>] [--pass=<secret>] [--rep=<url>...] [--show-classes] [--show-suggestions] [--sysrep=<url>] [--timeout=<seconds>] [--update-descriptor] [--user=<name>] [--verbose[=<flags>]] [--] <module> <jar-file> [<source-jar-file>]


Imports the given <jar-file> using the module name and version given by <module> into the repository named by the --out option.

<module> is a module name and version separated with a slash, for example com.example.foobar/1.2.0.

<jar-file> is the name of the Jar file to import.

<source-jar-file> is an optional name of a Jar file containing the sources for the Jar file to import.



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)


Specify a module.xml or file to be used as the module descriptor


Performs all the sanity checks but does not publish the JAR.


Skips sanity checks and forces publication of the JAR.


Do not check annotations for imports (default: false).


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


Specifies which packages a missing dependency contains. Can be specified multiple times. Format: module-name/module-version=package-wildcard(,package-wildcard)*, where package-wildcard supports *, ** and ? wildcards.


Indicates that the default repositories should not be used.

--offline, -L

Enables offline mode that will prevent connections to remote repositories.

--out=url, -o url

Specifies the output module repository (which must be publishable). (default: ./modules)

--overrides=file, -O file

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


Sets the password for use with an authenticated output repository (no default).


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


Shows all external classes that are not declared as imports instead of their packages only.


Shows suggestions for modules based on missing package names (this can take a long time).


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).


Whenever possible will create or adjust the descriptor file with the necessary definitions.


Sets the user name for use with an authenticated output repository (no default).

--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.


When the import-jar tool analyses the <jar-file> and complains about missing dependencies a module descriptor file should be provided. The name of this file can be provided using the --descriptor option or, when left out, the tool will look for <jar-file> or <jar-file>.module.xml.

The format of these .properties or .xml files is documented online:

If the option --update-descriptor is given the tool will try to update the given descriptor file with the available information (for now this only works for the .properties files). If the file didn't exist yet it will be created.

If the option --source-jar-file is given the tool will try to include the source jar into the module as well, including a SHA1 of that source jar.


Repositories like those specified with the --rep or --out options can be file paths, HTTP urls to remote servers or can be names of repositories when prepended with a + symbol. These names refer to repositories defined in the configuration file or can be any of the following predefined names +SYSTEM, +CACHE, +LOCAL, +USER, +REMOTE or +MAVEN. For more information see