GNU getopt-style command-line argument parser for Java, used in JBoss
Switch branches/tags
Nothing to show
Clone or download

JArgs command-line argument parsing library

  • Copyright (c) 2001-2012 Steve Purcell.
  • Copyright (c) 2002 Vidar Holen.
  • Copyright (c) 2002 Michal Ceresna.
  • Copyright (c) 2005 Ewan Mellor.
  • Copyright (c) 2010-2012 penSec.IT UG (haftungsbeschränkt).

All rights reserved.

Released under the terms of the BSD licence. See the file LICENCE for details.


For each prerequisite, the version with which JArgs has been tested is given in parentheses. Any version equal to or later than this should work.

To build JArgs and run its tests you need on of

  • Apache Ant (1.8.2), by The Apache Software Foundation
  • Apache Maven (3.0.4), by The Apache Software Foundation

Moreover JUnit (4.3.1), by Eric Gamma, is used to run the unit tests, but is not needed to run the library itself.


To compile, package, and test the code, run either



mvn clean package source:jar javadoc:jar jar:test-jar

Two jars are created, one called target/jargs-$VERSION$.jar, which contains the runtime library, and one called target/jargs-$VERSION$-tests.jar, which contains the unit tests and the examples. The Javadoc APIs are created in target/site/apidocs.

To use the library with your own code, simply ensure that target/jargs-$VERSION$.jar is on the CLASSPATH.

Pre-built packages are available via Sonatype's OSS Snapshots maven repository. Ensure you have the oss-public repository enabled in your pom.xml:


Then add JArgs to your dependencies list tag:



The main documentation is the detailed worked example in src/examples/java/com/sanityinc/jargs/examples/, plus the generated API documentation in target/site/apidocs.

Package contents

  • src/main/java/com/sanityinc/jargs -- The library itself.
  • src/examples/java/com/sanityinc/jargs/examples -- Examples showing how to use the library.
  • src/test/java/com/sanityinc/jargs -- JUnit tests.
  • target/site/apidocs -- API and other documentation.
  • target/classes -- Compiled classes, once built.
  • target/ -- JArgs jars, once built.

Steve Purcell's blog // @sanityinc on Twitter