Finding jar library dependencies using JarJar

Here’s a usefull tool: using JarJar you can easily find all the dependencies between the jar files you use. I’ve added a JarJar target to my ant build file to display these dependencies:

<path id="classpath">
  <fileset dir=".">
    <include name="**/*.jar"/>
  </fileset>
</path>
…
<target name="show.dependencies">
  <property name="lib.classpath" refid="classpath"/>
  <java jar="tonic/jarjar/0.6/jarjar.jar" fork="true">
    <arg value="–find"/>
    <arg value="–level=jar"/>
    <arg value="${lib.classpath}"/>
  </java>
</target>

Running this target result in the following output:

 ...
 [java] ...oracleadf10.1.2adfm.jar -> ...oraclejdbc10.1.4ojdbc14.jar
 [java] ...oracleadf10.1.2adfm.jar -> ...saxsax2.0.1sax.jar
 [java] ...oracleadf10.1.2adftags.jar -> ...sunservlet2.3servlet.jar
 [java] ...oracleadf10.1.2adftags.jar -> ...oraclebc4j10.1.2bc4jhtml.jar
 [java] ...oracleadf10.1.2adftags.jar -> ...oraclebc4j10.1.2bc4jmt.jar
 [java] ...oracleadf10.1.2adftags.jar -> ...oracleadf10.1.2adfm.jar
 [java] ...oracleadf10.1.2adftags.jar -> ...oracleadf10.1.2adf-controller.jar
 [java] ...oraclebc4j10.1.2bc4jct.jar -> ...oraclebc4j10.1.2bc4jmt.jar
 [java] ...oraclebc4j10.1.2bc4jct.jar -> ...suncollections1.0collections.jar
 ...
blog comments powered by Disqus