{"id":13,"date":"2009-10-22T07:07:11","date_gmt":"2007-05-04T14:58:33","guid":{"rendered":""},"modified":"2018-01-03T10:52:20","modified_gmt":"2018-01-03T08:52:20","slug":"ldd_for_java","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/betelgeuse\/2009\/10\/22\/ldd_for_java\/","title":{"rendered":"ldd for Java"},"content":{"rendered":"<p>I have been working on a ldd like program for Java. I put this program together using <a href=\"http:\/\/jakarta.apache.org\/bcel\/\">bcel<\/a> for class file parsing, java-config to provide a list of installed packages and jars and a SQL db abstracted by <a href=\"http:\/\/www.sqlalchemy.org\/\">sqlalchemy<\/a>.<\/p>\n<pre>\r\nbetelgeuse@pena ~\/jarindex $ java -jar \"\/home\/betelgeuse\/java\/JavaLDD\/dist\/JavaLDD.jar\" -q \/usr\/share\/ant-junit\/lib\/ant-junit.jar\r\nant-core\r\njunit\r\n<\/pre>\n<p>Obviously this doesn&#8217;t catch everything as you can load classes that provide an API dynamically but neither does ldd show dlopened shared libraries.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been working on a ldd like program for Java. I put this program together using bcel for class file parsing, java-config to provide a list of installed packages and jars and a SQL db abstracted by sqlalchemy. betelgeuse@pena ~\/jarindex $ java -jar &#8220;\/home\/betelgeuse\/java\/JavaLDD\/dist\/JavaLDD.jar&#8221; -q \/usr\/share\/ant-junit\/lib\/ant-junit.jar ant-core junit Obviously this doesn&#8217;t catch everything as &hellip; <a href=\"https:\/\/blogs.gentoo.org\/betelgeuse\/2009\/10\/22\/ldd_for_java\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">ldd for Java<\/span><\/a><\/p>\n","protected":false},"author":57,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/posts\/13"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":1,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":62,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/posts\/13\/revisions\/62"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/betelgeuse\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}