Dependency Finder, How To Run JarJarDiff?

Q

JarJarDiff is tool provided in Dependency Finder to computes API differences between two versions of a codebase.

For more information, see Dependency Finder.

✍: FYIcenter.com

A

Here is an example of running JarJarDiff to see differences between sqljdbc41.jar and sqljdbc42.jar:

C:\fyicenter\DependencyFinder-1.2.1-beta4\bin>jarjardiff
   -old \local\lib\sqljdbc41.jar 
   -new \local\lib\sqljd
   
<differences>
 <name></name>
 <old>[\local\lib\sqljdbc41.jar]</old>
 <new>[\local\lib\sqljdbc42.jar]</new>
 <removed-interfaces>
  <name visibility="package" 
   name="com.microsoft.sqlserver.jdbc.SQLType" 
   interface="yes" extends="">
   com.microsoft.sqlserver.jdbc.SQLType
  </name>
 </removed-interfaces>
 <removed-classes>
  <name visibility="package" final="yes" super="yes" 
   name="com.microsoft.sqlserver.jdbc.LocalDate" 
   extends="com.microsoft.sqlserver.jdbc.TemporalCompatibility" 
   implements="">com.microsoft.sqlserver.jdbc.LocalDate</name>
   ...
 </removed-classes>
 <modified-classes>
  <class>
   <name>com.microsoft.sqlserver.jdbc.AppDTVImpl$SetValueOp</name>
   <removed-methods>
    <declaration visibility="package" return-type="void" 
     signature="execute(com.microsoft.sqlserver.jdbc.DTV, 
     com.microsoft.sqlserver.jdbc.LocalDate)" 
     full-signature="com.microsoft.sqlserver.jdbc.AppDTVImpl
     $SetValueOp.execute(com.microsoft.sqlserver.jdbc.DTV, 
     com.microsoft.sqlserver.jdbc.LocalDate)" 
     throws="com.microsoft.sqlserver.jdbc.SQLServerException">
     void execute(com.microsoft.sqlserver.jdbc.DTV, 
     com.microsoft.sqlserver.jdbc.LocalDate) throws 
     com.microsoft.sqlserver.jdbc.SQLServerException</declaration>
    ...
   </removed-methods>
   <new-methods>
    ...
   </new-methods>
  </class>
  ...
 </modified-classes>
</differences>

Still have trouble using Dependency Finder? See How To Use Dependency Finder.

2015-10-26, 1200👍, 0💬