From http://books.sonatype.com/mvnex-book/reference/optimizing-sect-dependency-plugin.html:
A good rule of thumb in Maven is to always declare explicit dependencies for classes referenced in your code.
With maven 3.2.1 it is possible to exclude all transitive dependencies from a particular dependency with wildcard ‘*’:
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
(un)related:
http://www.smartics.de/archives/4692
This is a short reminder for users of the smartics-jboss-modules-maven-plugin to add all direct dependencies to their project dependencies.
If you use Java classes that are in the transitive closure, but not declared as dependencies directly in the projects POM, these classes will not be visible by default in the modules classpath provided by the JBoss AS 7.