{"id":2758,"date":"2014-03-27T11:00:18","date_gmt":"2014-03-27T09:00:18","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2758"},"modified":"2014-03-27T11:00:18","modified_gmt":"2014-03-27T09:00:18","slug":"jdeps-kommandozeilentool-in-java-8","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2014\/03\/jdeps-kommandozeilentool-in-java-8\/","title":{"rendered":"jdeps Kommandozeilentool in Java 8"},"content":{"rendered":"<p>Das JDK bringt mit jdeps ein kleines statisches Analysewerkzeug mit, welches die statischen Abh\u00e4ngigkeiten eines Java-Programms aufzeigt. Dabei listet es alle referenzierten Pakete auf und optional noch die Profile.<\/p>\n<p>&#160;<\/p>\n<p>$ jdeps<\/p>\n<p>Usage: jdeps &lt;options&gt; &lt;classes&#8230;&gt;<\/p>\n<p>where &lt;classes&gt; can be a pathname to a .class file, a directory, a JAR file,<\/p>\n<p>or a fully-qualified class name. Possible options include:<\/p>\n<p>-dotoutput &lt;dir&gt; Destination directory for DOT file output<\/p>\n<p>-s -summary Print dependency summary only<\/p>\n<p>-v -verbose Print all class level dependencies<\/p>\n<p>-verbose:package Print package-level dependencies excluding<\/p>\n<p>dependencies within the same archive<\/p>\n<p>-verbose:class Print class-level dependencies excluding<\/p>\n<p>dependencies within the same archive<\/p>\n<p>-cp &lt;path&gt; -classpath &lt;path&gt; Specify where to find class files<\/p>\n<p>-p &lt;pkgname&gt; -package &lt;pkgname&gt; Finds dependences in the given package<\/p>\n<p>(may be given multiple times)<\/p>\n<p>-e &lt;regex&gt; -regex &lt;regex&gt; Finds dependences in packages matching pattern<\/p>\n<p>(-p and -e are exclusive)<\/p>\n<p>-include &lt;regex&gt; Restrict analysis to classes matching pattern<\/p>\n<p>This option filters the list of classes to<\/p>\n<p>be analyzed. It can be used together with<\/p>\n<p>-p and -e which apply pattern to the dependences<\/p>\n<p>-P -profile Show profile or the file containing a package<\/p>\n<p>-apionly Restrict analysis to APIs i.e. dependences<\/p>\n<p>from the signature of public and protected<\/p>\n<p>members of public classes including field<\/p>\n<p>type, method parameter types, returned type,<\/p>\n<p>checked exception types etc<\/p>\n<p>-R -recursive Recursively traverse all dependencies<\/p>\n<p>-jdkinternals Finds class-level dependences on JDK internal APIs.<\/p>\n<p>By default, it analyzes all classes on -classpath<\/p>\n<p>and input files unless -include option is specified.<\/p>\n<p>This option cannot be used with -p, -e and -s options.<\/p>\n<p>WARNING: JDK internal APIs may not be accessible in<\/p>\n<p>the next release.<\/p>\n<p>-version Version information<\/p>\n<p>&#160;<\/p>\n<p>Ein Beispiel:<\/p>\n<p>&#160;<\/p>\n<p>$ jdeps &quot;c:\\Program Files\\Java\\jdk1.8.0\\lib\\ant-javafx.jar&quot;<\/p>\n<p>c:\\Program Files\\Java\\jdk1.8.0\\lib\\ant-javafx.jar -&gt; c:\\Program Files\\Java\\jdk1.8.0\\jre\\lib\\rt.jar<\/p>\n<p>c:\\Program Files\\Java\\jdk1.8.0\\lib\\ant-javafx.jar -&gt; not found<\/p>\n<p>com.javafx.main (ant-javafx.jar)<\/p>\n<p>-&gt; java.applet<\/p>\n<p>-&gt; java.awt<\/p>\n<p>-&gt; java.awt.event<\/p>\n<p>-&gt; java.io<\/p>\n<p>-&gt; java.lang<\/p>\n<p>-&gt; java.lang.reflect<\/p>\n<p>-&gt; java.net<\/p>\n<p>-&gt; java.security<\/p>\n<p>-&gt; java.util<\/p>\n<p>-&gt; java.util.jar<\/p>\n<p>-&gt; javax.swing<\/p>\n<p>-&gt; sun.misc JDK internal API (rt.jar)<\/p>\n<p>com.sun.javafx.tools.ant (ant-javafx.jar)<\/p>\n<p>-&gt; java.io<\/p>\n<p>-&gt; java.lang<\/p>\n<p>-&gt; java.security.cert<\/p>\n<p>-&gt; java.util<\/p>\n<p>-&gt; java.util.jar<\/p>\n<p>-&gt; java.util.zip<\/p>\n<p>-&gt; org.apache.tools.ant not found<\/p>\n<p>-&gt; org.apache.tools.ant.taskdefs not found<\/p>\n<p>-&gt; org.apache.tools.ant.types not found<\/p>\n<p>-&gt; org.apache.tools.ant.types.resources not found<\/p>\n<p>-&gt; sun.misc JDK internal API (rt.jar)<\/p>\n<p>com.sun.javafx.tools.packager (ant-javafx.jar)<\/p>\n<p>-&gt; java.io<\/p>\n<p>-&gt; java.lang<\/p>\n<p>-&gt; java.lang.reflect<\/p>\n<p>-&gt; java.math<\/p>\n<p>-&gt; java.net<\/p>\n<p>-&gt; java.nio.file<\/p>\n<p>-&gt; java.security<\/p>\n<p>-&gt; java.security.cert<\/p>\n<p>-&gt; java.text<\/p>\n<p>-&gt; java.util<\/p>\n<p>-&gt; java.util.jar<\/p>\n<p>-&gt; java.util.regex<\/p>\n<p>-&gt; java.util.zip<\/p>\n<p>-&gt; sun.misc JDK internal API (rt.jar)<\/p>\n<p>-&gt; sun.security.pkcs JDK internal API (rt.jar)<\/p>\n<p>-&gt; sun.security.timestamp JDK internal API (rt.jar)<\/p>\n<p>-&gt; sun.security.util JDK internal API (rt.jar)<\/p>\n<p>-&gt; sun.security.x509 JDK internal API (rt.jar)<\/p>\n<p>com.sun.javafx.tools.packager.bundlers (ant-javafx.jar)<\/p>\n<p>-&gt; java.io<\/p>\n<p>\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das JDK bringt mit jdeps ein kleines statisches Analysewerkzeug mit, welches die statischen Abh\u00e4ngigkeiten eines Java-Programms aufzeigt. Dabei listet es alle referenzierten Pakete auf und optional noch die Profile. &#160; $ jdeps Usage: jdeps &lt;options&gt; &lt;classes&#8230;&gt; where &lt;classes&gt; can be a pathname to a .class file, a directory, a JAR file, or a fully-qualified class [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66],"tags":[],"class_list":["post-2758","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2758"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2758\/revisions"}],"predecessor-version":[{"id":2759,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2758\/revisions\/2759"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}