To enable others to use your solution or to make it available for easy distribution within your own environment, you package your solution in a Java Archive (JAR) file. The contents and instructions for interpreting the contents of the JAR file are contained in an optionally signed plugin-descriptor.xml file located in the top level directory of the JAR. The syntax of the plug-in descriptor is specified using XML Schema as per the May 2, 2001 W3C Recommendation (http://www.w3.org/TR/2001/xmlschema-0-20010502/). The schema can be used in conjunction with a validating parser to determine the syntactical validity of a plug-in. For information about the plug-in descriptor file, see Defining the Plug-In.
To create the JAR file, you use the JAR utility. The JAR utility uses similar options to the standard UNIX tar utility.
To create a JAR file, use the following command from the root directory that contains all the plug-in files: jar cf jarfile inputfiles
where:
The c option creates a new archive named jarfile that contains the files and directories specified by inputfiles.
The f jarfile option specifies the name of the file to be created.
inputfiles identifies the files or directories to be included in the JAR file. You can provide a list of file and directory names separated by spaces, or you can use the asterisk (*) character to include all the files in the current directory. All directories are processed recursively.
If you have subdirectories, you can combine them into a single JAR file, as shown in the following example command:
% jar cvf myplugin.jar * added manifest ignoring entry META-INF/ ignoring entry META-INF/MANIFEST.MF adding: components/(in = 0) (out= 0)(stored 0%) adding: components/com/(in = 0) (out= 0)(stored 0%) adding: components/com/sun/(in = 0) (out= 0)(stored 0%) adding: components/com/sun/myplugin/(in = 0) (out= 0)(stored 0%) adding: components/com/sun/myplugin/mycomponent.xml(in = 6224) (out= 1182)(deflated 81%) adding: components/com/sun/myplugin/myothercomponent.xml(in = 1291) (out= 507)(deflated 60%) adding: components/com/sun/myplugin/mycomponenttype.xml(in = 940) (out= 470)(deflated 50%) adding: resources/(in = 0) (out= 0)(stored 0%) adding: resources/com/(in = 0) (out= 0)(stored 0%) adding: resources/com/sun/(in = 0) (out= 0)(stored 0%) adding: resources/com/sun/solaris/(in = 0) (out= 0)(stored 0%) adding: resources/com/sun/solaris/zone_util.tar(in = 20480) (out= 4232)(deflated 79%) adding: gui/(in = 0) (out= 0)(stored 0%) adding: gui/pluginUI.xml(in = 861) (out= 407)(deflated 52%) adding: gui/solaris.gif(in = 1622) (out= 1627)(deflated 0%) adding: plugin-descriptor.xml(in = 1990) (out= 707)(deflated 64%) % |
To verify the files in the JAR file, use the following command:
% jar tf mypluin.jar META-INF/MANIFEST.MF fiji/ fiji/components/ fiji/components/com/ fiji/components/com/sun/ fiji/components/com/sun/solaris/ fiji/components/com/sun/solaris/N1GridContainer.xml fiji/components/com/sun/solaris/ZoneSS.xml fiji/components/com/sun/solaris/zone_util.tar.xml fiji/resources/ fiji/resources/com/ fiji/resources/com/sun/ fiji/resources/com/sun/solaris/ fiji/resources/com/sun/solaris/zone_util.tar gui/ gui/pluginUI.xml gui/solaris.gif plugin-descriptor.xml |