Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAR Files Objectives: 1. Archiving and Packaging Java Code

Similar presentations


Presentation on theme: "JAR Files Objectives: 1. Archiving and Packaging Java Code"— Presentation transcript:

1 JAR Files Objectives: 1. Archiving and Packaging Java Code
2. The jar Program 3. Example Applet

2 JAR Files JAR file archives provide packaging for applications, applets, & JavaBeans Multiple classes can be packaged in JAR files JAR Files specified within HTML Manifest file JAR files use ZIP compression format

3 JAR Files: provide a delivery mechanism for JavaBeans, packaging all the necessary resources together in a single file. Multiple Beans may be contained in a single JAR file, and the file may also contain an optional manifest which lists the contents. help transport Beans over the Internet in easy-to-manage packages, and they are also used to archive applets for more efficient downloading performance.

4 Adds to existing archives Extracts items in an archive
The jar Utility Creates JAR files Adds to existing archives Extracts items in an archive Lists archive contents Syntax: jar {ctux} [vfm0M] [jar-file] [manifest-file] files

5 jar Command jar {ctux} [vfm0M] [jar-file] [manifest-file] files
jar-file specifies the name of the archive file. No required naming conventions exist for Java archive files, although you will most likely see the file extension .jar associated with them. The manifest-file argument is a file containing a list of the jar file contents. A manifest file is required when using the m command line option. More...

6 jar Command jar {ctux} [vfm0M] [jar-file] [manifest-file] files
files to be archived are listed at the end of the command and are separated by whitespace. Wildcard characters are accepted directory names are followed recursively, i.e., all files in subdirectories will also be archived. File names are relative to the directory from which you run the jar command special –C option introduced in Java 1.2 to change the relative directory. forward or backward slashes are accepted, making the jar command operating-system independent.

7 jar command line options
Only one of the following c: Create a new archive file t: List the table of contents for the archive file u: Update the contents of the archive or manifest x: Extract named files (or all) from the archive Other options can be combined or omitted v: Verbose output f: Specify [jar-file] m: Include information from [manifest-file] 0: Do not use compression M: Do not create a manifest file for the archive entries

8 Examples of jar command
Create an archive called Simulator.jar that contained the single class Machine.class jar cf Simulator.jar Machine.class List the table of contents of Simulator.jar using verbose output jar tvf Simulator.jar Extract all contents of Simulator.jar jar xvf Simulator.jar

9 JAR Files & HTML Improve Applet download performance ARCHIVE Tag
compression of JAR files allows efficient downloading of applets over the Web. entire archive may be downloaded in a single HTTP transaction. avoids reconnect each time a specific .class file or resource is needed. ARCHIVE Tag <APPLET ARCHIVE=“Simulator.jar” CODE=Stock.class WIDTH=350 HEIGHT=250> </APPLET> filename is relative to the location of the HTML page. still need a CODE tag to indicate which class within the archive starts the applet.

10 The Manifest The manifest file exists to provide information about the contents of its associated jar file. Automatically created if not specified otherwise, named manifest.mf placed in the archive under a directory called /META-INF M option in jar command suppresses creation. Lists the entries in the archive First entry identifies manifest version Example: Manifest-Version: 1.0 Created-By: (Sun Microsystems Inc.) applies to the entire JAR file

11 Manifest Contents Subsequent sections must begin with
Name: <entry> describe individual elements JavaBeans, files, packages, and URLs. Each section of the manifest file refers to an entry in the archive and is separated by a blank line. Attribute-value pairs of the format attribute: value are used in each section to give information about that particular entry. Name: Calculator.class lines describing this file Name: edu/weber/mypkg lines describing this package

12 Attribute/Value pairs Note Java-Bean attribute in example:
Manifest Contents Attribute/Value pairs Note Java-Bean attribute in example: Name: StockBroker/Simulator/Stock.class Digest-Algorithms: MD5 SHA MD5-Digest: wuXrtYN-56Nn4rtDFewq=-tr SHA-Digest: fg67tKdkfR65-SRkdrslegvY-tyK Java-Bean: True

13 Custom Manifest File Indicating Beans
Manifest-Version: 1.0 Name: StockBroker/Simulator/Stock.class Java-Bean: True Name: StockBroker/Simulator/Helper.class Java-Bean: False Name: StockBroker/Simulator/Price.class

14 Creating the Archive File
create an archive file with a customized manifest file by using both the m and f options and giving the required arguments as shown in the slide. The generated manifest.mf file in the archive should have the information given in Simulator.mf (which you write). >jar cfm Simulator.jar Simulator.mf StockBroker/Simulator/Stock.class StockBroker/Simulator/Helper.class StockBroker/Simulator/Price.class if the jar options contain both the letters f and m, the JAR and manifest files listed in the command line should be in the same order. For example, if f comes before m, the JAR filename should come before the manifest filename.

15 See Composites using a jar in the Mastermind Directory
Examples See Composites using a jar in the Mastermind Directory See Animation Demo using a jar at: inner classes specified in a manifest


Download ppt "JAR Files Objectives: 1. Archiving and Packaging Java Code"

Similar presentations


Ads by Google