Skip to main content

Packaging plugins

However you get your plugin to its finished state, you deploy it as a JAR file.

When you deploy, the application expects the contents of your JAR file to be in a particular hierarchy. Here's a snapshot of how the contents might look:

ArtifactDescription
classes directoryRequired. Java classes for the plugin
META-INF directoryDirectory for standard JAR descriptor file
resources directoryPlugin user interface files, such as FTL files and CSS files
scripts directoryJavaScript or Perl or other scripts
README.html, changelog.html, and license.htmlInformation about how the plugin should be deployed, configured and used. As you upgrade the plugin, you can also include information about changes you make from version to version
logo_small.png, logo_large.pngImages to represent the plugin (logo_small must be 16x16 px).
plugin.xmlRequired. Configuration for the plugin, it lists components included in the plugin, along with components added to the UI. For more information, see Plugin XML reference and UI components XML reference.
schema.xmlIf your plugin creates tables in the database, define them here as SQLGen XML. Tables that you define in this file will be automatically created when the plugin is deployed.
spring.xmlConfiguration of created or overrided Spring beans. This element is required as of version 5.0.1. For an example in the context of security, see Authentication and authorization.
struts.xmlStruts configuration file that maps actions to action classes and results to FTL files.