I am trying:
org.apache.maven.plugins
maven-compiler-plugin&l
There is an alternate form perhaps give it a try? Note the s on the end of <compilerArguments>
<configuration>
<compilerArguments>
<Werror />
</compilerArguments>
</configuration>
EDIT: This answer is outdated however I can't delete it as it was an accepted answer at the time.
This a bug with Maven see: https://issues.apache.org/jira/browse/MCOMPILER-120 it's been fixed in 2.4 of the Maven-compiler-plugin but I don't believe that's been released yet. tag won't work either unfortunately.
By using the workaround in this comment in the open jira issue for maven compiler plugin, the build can be failed for compiler warning.
This works for me:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<compilerId>javac</compilerId>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-Werror</compilerArgument>
<showDeprecation>true</showDeprecation>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-api</artifactId>
<version>1.8.2</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-manager</artifactId>
<version>1.8.2</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>1.8.2</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
Update for the year 2015, using Maven 3.3 and Java 8.
Here's a minimal compiler configuration that enables all warnings and makes the build fail whenever warnings occur.
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint:all</arg>
<arg>-Werror</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Bits of note:
<showWarnings>true</showWarnings> is required. For reasons unknown, Maven by default actively suppresses warnings with the -nowarn flag, so the -Xlint and -Werror flags would be ignored.showDeprecation doesn't need to be enabled because -Xlint:all already emits deprecation warnings.fork doesn't need to be enabled, even though the
documentation says otherwise.An update on 2020, I am using Spring Boot 2.2.5. The following config can stop the mvn install when warning, error happen.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<failOnError>true</failOnError>
<failOnWarning>true</failOnWarning>
</configuration>
</plugin>
New in maven-compiler-plugin 3.6.0: the failOnWarning flag. This worked for me:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<compilerArgument>-Xlint:-processing</compilerArgument>
<failOnWarning>true</failOnWarning>
</configuration>
</execution>
</executions>
</plugin>
Note that I had to exclude the processing lint or otherwise auto-matter's annotations would break the build with cryptic "symbol not found" errors.