JCli is a project for command line manipulation in Java, where the command line options are flagged with annotations.
History and background
Initially, JCli is part of Jmxterm project. During time, the command line parsing logic is gradually decoupled and now becomes an independent library that can easily fit in other command line parsing scenarios.
JCli project is still in her early stage. Please feel free to share your ideas
What makes it different
Today, there are more than enough command line argument tools for Java in open source world out there. To make a decision even more difficult, JCli distincts from others for following reasons, despite whether they matter or not:
- Option definition is totally driven by Java annotation
- Field conversion rules, if there are any, is also driven by Java annotation
- Support multi value option painlessly
Here's an example that explains all
JCli is in Maven repository
Before a beta release, JCli is only stored in official maven repository. Assume your project is built with maven 2 and you are interested in trying it out in a project, include following segment in pom.xml.
... <dependency> <groupId>org.cyclopsgroup</groupId> <artifactId>jcli</artifactId> <version>A_VERSION</version> </dependency> ...
You may find out what versions are available from the repository.
Consumers
- Jmxterm is built on top of JCli.
- If you do or plan to use JCli in your story, please let me know.





