{"id":299,"date":"2014-08-03T11:11:48","date_gmt":"2014-08-03T19:11:48","guid":{"rendered":"http:\/\/www.android-decompiler.com\/blog\/?p=299"},"modified":"2018-12-19T13:39:32","modified_gmt":"2018-12-19T21:39:32","slug":"jeb-jar-plugins","status":"publish","type":"post","link":"https:\/\/www.pnfsoftware.com\/blog\/jeb-jar-plugins\/","title":{"rendered":"JEB Jar Plugins"},"content":{"rendered":"<p>Maintenance release <a href=\"https:\/\/www.pnfsoftware.com\/jeb1\/changelist\">1.5.201408040<\/a> introduces support for Java Archive (Jar) plugins. Unlike Java scripts\/plugins, running JEB using a JDK is not required, as the Jar plugin already contains compiled code.<\/p>\n<p>Jar plugins allow for complex, multi-class plugins, and referencing external libraries is easy via Manifest entries.<\/p>\n<p><strong>The plugins\/ sub-directory of your JEB installation directory contains a sample JAR plugin (SamplePluginJar.jar) as well as the associated\u00a0source code (SamplePluginJar-src.zip).<\/strong> You can\u00a0use this plugin&#8217;s\u00a0source code as a template for your own Jar plugins. The build.xml file is a simple Apache Ant build file used to compile source files\u00a0(located in src\/) and package the generated *.class files into a single Jar, with appropriate JEB-specific Manifest entries set up.<\/p>\n<p>About JEB-specific Manifest entries: unlike single source (Python, Java source) plugins, that define plugin metadata with a special comment line (#? for Python, \/\/? for Java), Jar plugins use Manifest entries prefixed by JebPlugin- to define those entries:<\/p>\n<ul>\n<li><strong>JebPlugin-entryclass<\/strong>: (mandatory) set to\u00a0the class that contains the plugin entry-point<\/li>\n<li><strong>JebPlugin-name<\/strong>: (optional) plugin name (as it will appear in &#8220;Action \/ Custom Actions&#8230;&#8221; menu)<\/li>\n<li><strong>Jeb-Plugin-shortcut<\/strong>: (optional) keyboard shortcut<\/li>\n<li><strong>JebPlugin-help<\/strong>: (optional) help information<\/li>\n<li><strong>JebPlugin-author<\/strong>: (optional) plugin&#8217;s author information<\/li>\n<\/ul>\n<p>The above values can be set up by customizing the build.xml Ant file. Also, just like stand-alone Jar files loaded by the Java VM executable, the Manifest entry Class-Path can be set to reference external Jar files or repository of *.class files. Those entries will be added to the class path when\u00a0JEB loads the plugin.<\/p>\n<p>Please let us know on the <a href=\"https:\/\/groups.google.com\/forum\/#!forum\/jeb-decompiler\">forum<\/a> if you have any question.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maintenance release 1.5.201408040 introduces support for Java Archive (Jar) plugins. Unlike Java scripts\/plugins, running JEB using a JDK is not required, as the Jar plugin already contains compiled code. Jar plugins allow for complex, multi-class plugins, and referencing external libraries is easy via Manifest entries. The plugins\/ sub-directory of your JEB installation directory contains a &hellip; <a href=\"https:\/\/www.pnfsoftware.com\/blog\/jeb-jar-plugins\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">JEB Jar Plugins<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-299","post","type-post","status-publish","format-standard","hentry","category-api-jeb1"],"_links":{"self":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=299"}],"version-history":[{"count":0,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/299\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}