title: How To Check Dependencies Between Jar Files?
body: <p>I recently have taken the support and programming of a web system written in JSF. The code is kind of messy and redundant, and yes, no documentation exists. </p>
  
  <p>The system has over 40 jar libraries, and most of them are redundant due to old versions and testing. To remove one jar, I must check that it's not imported in the code, so I searched the code for the jar import path (I'm using IntelliJ IDE), made sure that it's not used, and removed it.</p>
  
  <p>However, after compiling the code, a number of run-time errors occurred during testing. I figured out that I removed some jars which are used by other existing jars.</p>
  
  <p>The problem, how do I make sure before removing a jar that it's not used by another jar/java class?</p>
  
  <p>Despite that jars have compiled classes, the compiled classes <em>do</em> have the import path of required libraries. But I can't search them with IntelliJ (does not search inside jars files). </p>
  
  <p>The only way that I'm doing now is to test the system every time I remove a jar and see if I can crash it!  This is totally not an easy way due to the huge number of features to be tested. </p>
  
  <p>I wish that there is a tool where I can submit a number of java files/jars, and it displays the dependencies between them.</p>