Most of the Java projects I work on use Maven as the project management tool. I've written some command line tools to make life easier for myself, here is one of them.
pom
pom.sh (version 0.5) [PGP signature: pom.sh.asc]
Maven 2 pom.xml-file inspector command. It's small, written in plain Bourne shell and only requires xsltproc to work.
POM XML files can contain a lot of dependencies and tend to get extremely verbose, making them hard to read. When invoked, pom.sh extracts essential data from the pom.xml file in the current directory (or any parent directory) and displays it in compact and readable plain text in your terminal. See «pom -h» for documentation.
Example output:
$ pwd
/home/me/Projects/superproject/src
$ pom
POM file ~/Projects/superproject/pom.xml
Name The Super Project
GroupId super
ArtifactId super
Version 0.1-SNAPSHOT
Profiles dev, test
Distribution repository URL:
scp://my.supersite.com/site/htdocs/mvn
Defined repository URLs:
http://download.java.net/maven/2/
http://repo1.maven.org/maven2
Build plugins:
maven-release-plugin org.apache.maven.plugins:maven-site-plugin
org.antlr:antlr3-maven-plugin:3.1.3-1 org.apache.maven.plugins:maven-war-plugin
org.apache.maven.plugins:maven-antrun-plugin org.codehaus.mojo:javacc-maven-plugin
Direct dependencies:
cglib:cglib-nodep:2.1_3 org.apache.ibatis:ibatis-sqlmap:2.3.4.726
com.ibm.icu:icu4j:3.8 org.apache.lucene:lucene-core:2.4.1
commons-codec:commons-codec:1.3 org.apache.lucene:lucene-queries:2.4.1
commons-collections:commons-collections:3.2.1 org.apache.maven.doxia:doxia-module-apt:1.0-alpha-11
log4j:log4j:1.2.15 org.springframework:spring:2.5.6.SEC01
net.sf.json-lib:json-lib:2.2.2
org.antlr:antlr-runtime:3.1.3
org.apache.commons:commons-io:1.3.2
Exclusions of transitive dependencies:
Excluded for log4j:log4j
javax.jms:jms
com.sun.jdmk:jmxtools
com.sun.jmx:jmxri