JavaSee is a fully customizable linter for Java code, where you can define your own rules specific to your project or your company.
rules: - id: your-company.java.arraylist pattern: new ArrayList(...) message: In this company, you shouldn't use ArrayList
I don't know why the company prohibits using
ArrayList, but assume a company has such a rule. Probably no linter in the world provides this rule, but you can implement it using JavaSee in three lines of code as you can see in the example above.
Some rules you want are too subtle or too project/team dependent so general lint tools don’t have them. JavaSee offers a new way to access linter rules: you can define your rules with a pattern language, which makes defining new rules 10x easier!
It requires Java 11 or later.
You can download the binary distribution from the releases page.
Unzip the archive, and execute the
javasee.bat included in the
You can build from the source code.
$ git clone htts://github.com/sider/JavaSee.git $ cd JavaSee $ ./gradlew shadowjar $ java -jar build/libs/JavaSee-all.jar
We provide Docker images to help you trying JavaSee without installing Java 11.
$ docker pull sider/javasee $ docker run -t --rm -v `pwd`:/work sider/javasee
latest tag points to the latest released version.
You can pick a tag from version names from tags list.
$ javasee init # Generate a config file in your repository. $ vim javasee.yml # Edit the config file to define your rules. $ javasee check # Run the linter.