Search code examples
javamaven-2configuration

How to turn off maven dependency:analyze-only failOnWarning


I'm building a java project with maven-2 and due to some dependencies listed, and others not listed, in the pom.xml file and the fact that failOnWarning is set to true in the dependency:analyze-only mojo configuration I am not able to build the project without using the maven -fn flag.

Here is more detail.

$ mvn install -X
...snip...
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-dependency-plugin:2.0:analyze-only' -->
...snip...
[DEBUG]   (f) failOnWarning = true
[DEBUG]   (f) ignoreNonCompile = true
...snip...
[DEBUG] -- end configuration --
[INFO] [dependency:analyze-only {execution: default}]
[INFO] Used declared dependencies found:
[INFO]    javax.servlet.jsp:jsp-api:jar:2.1:provided
[INFO]    javax.servlet:servlet-api:jar:2.5:provided
[INFO]    org.springframework:spring-webmvc:jar:3.0.5.RELEASE:compile
[INFO]    flexson:json:jar:1.7:compile
[INFO]    org.springframework:spring-web:jar:3.0.5.RELEASE:compile
[WARNING] Used undeclared dependencies found:
[WARNING]    org.springframework.security:spring-security-core:jar:3.0.5.RELEASE:compile
[WARNING]    log4j:log4j:jar:1.2.16:compile
...snip...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Dependency problems found
[INFO] ------------------------------------------------------------------------

My question is this:

How can I set failOnWarning = false without changing the pom.xml file for the project?
- The pom.xml file is checked into source control and others on the project don't need to change it to build the project so I expect there is something different about my maven setup.
- We are all using maven 2.2.1 with the same settings.xml file.


Solution

  • This may be a bit over the top, but could you not specify it as a property? e.g. something like <failOnWarnings>${config.failOnWarning}</failOnWarning>

    Specify the property in the properties section of your POM to be true. Then you can override it to be false when you run from the command-line.