Command Line

Description

This document describes how to run Checkstyle using the command line tool. The latest version of Checkstyle can be found at http://checkstyle.sourceforge.net. This command line tool is included in the Checkstyle distribution.

Installation

The easiest way is to include checkstyle-all-5.1.jar in the classpath. If you are running JDK 5.0 this contains all the classes required to run Checkstyle. Alternatively, you must include the following in the classpath:

  1. checkstyle-5.1.jar
  2. ANTLR 2.7.6 classes. antlr.jar is included in the distribution.
  3. Jakarta Commons Beanutils classes. commons-beanutils-core.jar is included in the distribution.
  4. Jakarta Commons Logging classes. commons-logging.jar is included in the distribution.
  5. Jakarta Commons CLI (command line interface) classes. commons-cli-1.1.jar is included in the distribution.
  6. Google Collections classes. google-collect-1.0.jar is included in the distribution.

Usage

The command line usage is:

java -D<property>=<value>  \
     com.puppycrawl.tools.checkstyle.Main \
     -c <configurationFile> \
     [-f <format>] [-p <propertiesFile>] [-o <file>] \
     [-r <dir>] file...

Checkstyle will process the specified files and by default report errors to standard out in plain format. Checkstyle requires a configuration XML file that configures the checks to apply. Command line options are:

Note that the -n packageNamesFile option has been dropped for Checkstyle 5.0, because of significant changes regarding package name file handling. See for details.

Set the properties for expanded property values by either by assigning system properties using the -D<property>=<value> arguments to java or specifying a property file using the -p option. If a property file is specified, the system properties are ignored.

Examples

Run checkstyle with configuration file docs/sun_checks.xml on a file

java com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     Check.java

Run checkstyle with configuration file docs/sun_checks.xml on all java files in a directory

java com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     -r src/

Run checkstyle with configuration file docs/sun_checks.xml on a file and provide a system property

java -Dcheckstyle.cache.file=target/cachefile \
     com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     Check.java

Run checkstyle with configuration file docs/sun_checks.xml on a file and use properties in a file

java com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     -p myCheckstyle.properties Check.java

Run checkstyle with configuration file docs/sun_checks.xml on a file and output to a file in XML format

java com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     -f xml -o build/checkstyle_errors.xml Check.java

Run checkstyle with configuration file docs/sun_checks.xml on a file and provide a package names file

java com.puppycrawl.tools.checkstyle.Main -c docs/sun_checks.xml \
     -n myPackageNames.xml Check.java

Tip

It is possible to run Checkstyle directly from the JAR file using the -jar option. An example would be:

java -jar checkstyle-all-5.1.jar \
     -c docs/sun_checks.xml Check.java
        
Copyright © 2001-2010, Oliver Burn