# Java API Compliance Checker Options

## Information Options

- -h|-help

Print help message.

- -v|-version

Print version information.

- -dumpversion

Print the tool version and don't do anything else.

## General Options

- -l|-lib|-library NAME

Library name (without version). It affects only on the path and the title of the report.

- -d1|-old|-o PATH

Path to the Java ARchive or XML-descriptor of 1st (old) library version.

- -d2|-new|-n PATH

Path to the Java ARchive or XML-descriptor of 2nd (new) library version.

## Extra Options

- -client|-app PATH

This option allows to specify the client Java ARchive that should be checked for portability to the newer library version.

- -binary

Show "Binary" compatibility problems only. Generate report to "bin_compat_report.html" file.

- -source

Show "Source" compatibility problems only. Generate report to "src_compat_report.html" file.

- -check-implementation

Compare implementation code (method's body) of Java classes. Add "Changes in Implementation" section to the report.

- -v1|-version1 NUM

Specify 1st library version outside the descriptor.

- -v2|-version2 NUM

Specify 2nd library version outside the descriptor.

- -s|-strict

Treat all compatibility warnings as problems.

- -keep-internal

Do not skip checking of these packages: *impl*, *internal*, *examples*, *com.oracle*, *com.sun*, *COM.rsa*, *sun*, *sunw*

- -skip-internal PATTERN

Do not check internal packages matched by the pattern.

- -dump|-dump-api PATH

Create library API dump for the input descriptor. You can transfer it anywhere and pass instead of the descriptor. Also it may be used for debugging the tool.

- -classes-list PATH

This option allows to specify a file with a list of classes that should be checked, other classes will not be checked.

- -skip-deprecated

Skip analysis of deprecated methods and classes.

- -skip-classes PATH

This option allows to specify a file with a list of classes that should not be checked.

- -d|-template

Create XML descriptor template ./VERSION.xml

- -report-path PATH

Path to compatibility report. Default: compat_reports/LIB_NAME/V1_to_V2/compat_report.html

- -bin-report-path PATH

Path to "Binary" compatibility report. Default: compat_reports/LIB_NAME/V1_to_V2/bin_compat_report.html

- -src-report-path PATH

Path to "Source" compatibility report. Default: compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

- -quick

Quick analysis. Disabled: 1) analysis of method parameter names, 2) analysis of class field values, 3) analysis of usage of added abstract methods.

- -sort

Enable sorting of data in API dumps.

- -show-access

Show access level of non-public methods listed in the report.

- -limit-affected LIMIT

The maximum number of affected methods listed under the description of the changed type in the report.

## Other Options

- -test

Create two incompatible versions of a sample library and run the tool to check them for compatibility. This option allows to check if the tool works correctly in the current environment.

- -debug

Debugging mode. Print debug info on the screen. Save intermediate analysis stages in the debug directory: debug/LIB_NAME/VER/. Also consider using --dump option for debugging the tool.

- -l-full|-lib-full NAME

Change library name in the report title to NAME. By default will be displayed a name specified by -l option.

- -b|-browse PROGRAM

Open report(s) in the browser (firefox, opera, etc.).

- -open

Open report(s) in the default browser.

- -jdk-path PATH

Path to the JDK install tree (e.g. /usr/lib/jvm/java-7-openjdk-amd64).