Sometimes you need to peruse the dependencies (and transitive dependencies) within your Maven project. The "mvn site" command generates a pretty nice version of this in HTML. (Example: Jetty Maven Plugin – Depenencies Report
.)
Well, the good news is that you don’t need to go through the whole "mvn site" generation to find out this information, as the "dependency" plugin can provide this information to you via the command-line.
% mvn dependency:tree
Here is (a part) of the output from one of the projects I’m working on:
[INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building SomeCompany :: Main Webapp [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree] [INFO] com.somecompany:somecompany:war:1.0-SNAPSHOT [INFO] +- com.somecompany:backend:jar:1.0-SNAPSHOT:compile [INFO] | +- mysql:mysql-connector-java:jar:5.0.4:runtime [INFO] | +- antlr:antlr:jar:2.7.6:compile [INFO] | +- commons-codec:commons-codec:jar:1.3:compile [INFO] | +- commons-dbcp:commons-dbcp:jar:1.2.1:compile [INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile [INFO] | +- commons-httpclient:commons-httpclient:jar:3.0:compile [INFO] | | \- junit:junit:jar:3.8.1:compile [INFO] | +- commons-lang:commons-lang:jar:2.3:compile [INFO] | +- commons-logging:commons-logging:jar:1.0.4:compile [INFO] | +- commons-pool:commons-pool:jar:1.3:compile [INFO] | +- dom4j:dom4j:jar:1.6:compile [INFO] | +- net.sf.ehcache:ehcache:jar:1.4.0:compile [INFO] | | +- net.sf.jsr107cache:jsr107cache:jar:1.0:compile [INFO] | | \- backport-util-concurrent:backport-util-concurrent:jar:3.1:compile [INFO] | +- org.hibernate:hibernate-annotations:jar:3.2.0.ga:compile [INFO] | | +- org.hibernate:hibernate:jar:3.2.0.ga:compile [INFO] | | | +- javax.transaction:jta:jar:1.0.1B:compile [INFO] | | | +- asm:asm-attrs:jar:1.5.3:compile [INFO] | | | +- cglib:cglib:jar:2.1_3:compile [INFO] | | | \- asm:asm:jar:1.5.3:compile [INFO] | | \- javax.persistence:persistence-api:jar:1.0:compile [INFO] | +- jdom:jdom:jar:1.0:compile [INFO] | +- ognl:ognl:jar:2.6.7:compile [INFO] | +- rome:rome:jar:0.9:compile [INFO] | +- org.springframework:spring:jar:1.2.7:compile [INFO] | +- net.sourceforge.stripes:stripes:jar:1.4.3:compile [INFO] | +- velocity:velocity:jar:1.5:compile [INFO] | | \- oro:oro:jar:2.0.8:compile [INFO] | +- org.json:json:jar:20070829:compile [INFO] | +- org.htmlparser:htmlparser:jar:1.6:compile [INFO] | +- javax.mail:mail:jar:1.4:compile [INFO] | | \- javax.activation:activation:jar:1.1:compile [INFO] | \- org.safehaus:jug:jar:2.0.0:compile [INFO] +- javax.servlet:jstl:jar:1.1.2:compile [INFO] +- taglibs:standard:jar:1.1.2:compile [INFO] +- javax.servlet:servlet-api:jar:2.5:compile [INFO] +- com.oreilly.servlet:cos:jar:1.0:compile [INFO] +- c3p0:c3p0:jar:0.9.1.2:compile [INFO] +- jaxen:jaxen:jar:1.1-beta-7:compile [INFO] | +- xerces:xmlParserAPIs:jar:2.6.2:compile [INFO] | +- xerces:xercesImpl:jar:2.6.2:compile [INFO] | \- xom:xom:jar:1.0b3:compile [INFO] | +- com.ibm.icu:icu4j:jar:2.6.1:compile [INFO] | +- xalan:xalan:jar:2.6.0:compile [INFO] | \- org.ccil.cowan.tagsoup:tagsoup:jar:0.9.7:compile [INFO] +- javax.sql:jdbc-stdext:jar:2.0:compile [INFO] +- org.apache.lucene:lucene-core:jar:1.9.1:compile [INFO] +- quartz:quartz:jar:1.5.1:compile [INFO] +- commons-collections:commons-collections:jar:3.2:compile [INFO] +- org.apache.avalon.logkit:avalon-logkit:jar:2.2.1:compile [INFO] +- jgroups:jgroups-all:jar:2.6.1:compile [INFO] \- log4j:log4j:jar:1.2.11:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4 seconds [INFO] Finished at: Wed Apr 30 16:40:42 PDT 2008 [INFO] Final Memory: 12M/508M [INFO] ------------------------------------------------------------------------
[Trackback] Tagged your site as tagsoup at iLinkShare!
Comment by iLinkShare (Web 2.0 linksharing) — 20 February 2009 @ 15:18
For printing this information in a file you can use a command
mvn dependency:tree > “FILE LOCATION”
Comment by Anurag Yadav — 14 March 2011 @ 11:27
For printing:
mvn dependency:tree -DoutputFile=outputFilePath
(or including outputFile in plugin configuration, in pom.xml)
is better
Comment by Nicus — 21 April 2011 @ 06:31