~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ------ Exclude dependencies from dependency analysis ------ Henning Schmiedehausen ------ 2015-01-01 ------ Exclude dependencies from dependency analysis A project's dependencies can be analyzed as part of the build process by binding the <<>> goal to the lifecycle. By default, the analysis will be performed during the <<>> lifecycle phase. In rare cases it is possible to have dependencies that are legitimate on the classpath but cause either "Declared but unused" or "Undeclared but used" warnings. The most common case is with jars that contain annotations and the byte code analysis is unable to determine whether a jar is actually required or not. The plugin can then be configured to ignore these dependencies in either "declared but unused" or "undeclared but used" case or in both simultaneously. See the following POM configuration for an example: +---+ ... org.apache.maven.plugins maven-dependency-plugin ${project.version} analyze analyze-only true com.google.code.findbugs:jsr305 com.google.code.findbugs:annotations com.google.code.findbugs:annotations ... +---+ Note that the <<>> goal is used in preference to <<>> since it doesn't force a further compilation of the project, but uses the compiled classes produced from the earlier <<>> phase in the lifecycle. The project's dependencies will then be automatically analyzed during the <<>> lifecycle phase, which can be executed explicitly as follows: +---+ mvn verify +---+