jdeps already has the option finding the JAR files needed to compile A.jar.
There is a new jdeps option added to Jigsaw EA build [1] to make this easier: $ jdeps -s -ct -R -cp lib/* A.jar This will transitively find all dependencies from the references in A.jar and shows the summary of the JAR-level dependencies. jdeps -dotoutput option outputs the dependencies in a DOT file that you can generate the DOT graph. You can use idk 9 jdeps —include option which analyzes all JAR files in lib directory $ jdeps —dotoutput dotfiles —include “.*” -cp lib/* A.jar Mandy [1] http://openjdk.java.net/projects/jigsaw/ea > On Nov 9, 2015, at 9:26 PM, Richard Callahan <rich...@lucentsky.com> wrote: > > Hi, > > I have a specific question about the output from the Java Dependency Analysis > Tool (JDeps), released with Open JDK 8. Thank you very much for such a > marvelous tool! > > I am parsing the output from JDeps with the "-v" flag set, such that a call > to JDeps produces all class-level dependencies among and within a set of JAR > files in a directory specified by the user. Consider a directed graph G > constructed from the JDeps output, with the vertices representing nodes in > the graph and the edges representing dependencies among the classes as > specified in the JDeps output. My question is, if a specific JAR file in the > directory (call it A.jar) can compile using OpenJDK with the other JAR files > in the directory designated as dependencies, then does there always exist at > least one subgraph G' of G that corresponds to the dependency relationships > that would be actually used by a Java compiler to compile A.jar? If the > answer is "yes," then I believe I should be able to recover that graph by > starting with the set of classes in A.jar and then constructing the subgraph > G' in a manner similar to that used by a depth-first search. > > Thank you for your time, I recognize it is valuable. > > Best, > > Richard