## Synopsis
`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>]`

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

## Options
`--cacherep=url` | Specifies the folder to use for caching downloaded modules. (default: `~/.ceylon/cache`)
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--descriptor=file` | Specify a module.xml or module.properties file to be used as the module descriptor
`--dry-run` | Performs all the sanity checks but does not publish the JAR.
`--force` | Skips sanity checks and forces publication of the JAR.
`--ignore-annotations` | Do not check annotations for imports (default: `false`).
`--maven-overrides=file` | Specifies the XML file to use to load Maven artifact overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Deprecated: use --overrides.
`--missing-dependency-packages=value` | 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.
`--no-default-repositories` | 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` | Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.
`--pass=secret` | Sets the password for use with an authenticated output repository (no default).
`--rep=url` | Specifies a module repository containing dependencies. Can be specified multiple times. (default: `modules`, `~/.ceylon/repo`, `https://modules.ceylon-lang.org/repo/1`)
`--show-classes` | Shows all external classes that are not declared as imports instead of their packages only.
`--show-suggestions` | Shows suggestions for modules based on missing package names (this can take a long time).
`--sysrep=url` | 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).
`--update-descriptor` | Whenever possible will create or adjust the descriptor file with the necessary definitions.
`--user=name` | 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`.

## Descriptors
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>.module.properties` or `<jar-file>.module.xml`. The format of these `.properties` or `.xml` files is documented online: http://www.ceylon-lang.org/documentation/1.1/reference/structure/module/#legacy_modules 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
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 https://ceylon-lang.org/documentation/1.3/reference/repository/tools