I like compiler warnings and I think a nicely linted code base really improves code hygiene and keeps standards high. Rather than relying on some post-compile script or a tool like Sonar I prefer the compiler to throw an error when it encouters something that we defined as a code smell. In other words, I want it to treat warnings as errors.
javac can do exactly that with the
-Werror flag but using it in Maven took
me a little while to find out. To enable it in your Maven builds, use the
... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <compilerArguments> <Werror /> <Xlint:all /> </compilerArguments> </configuration> </plugin> </plugins> </build> ...