Creating Jar Files Based on slides by: Jin Hung, Gregory Olds, George Blank, Sun Java Web Site
What is a Jar File? • Java archive (jar) files are compressed files that can store one or many files. • Jar files normally contain java or class files, but other files may also be included. • Jar files can be run on Windows by double clicking jar files if the JVM is installed.
Why use a JAR File? • Compression:Jar files reduce the size of the original files. • Speed: The applet can be downloaded in one http transaction. • Security: Jar files can be signed digitally. Users who recognize the signature can optionally grant permission to run the file or refuse. • Package sealing: Sealing a package within the jar file means that all classes defined in that package are found in the same jar file.
Flow Chart • Create a manifest.mf file • Create a jar file • Basic jar commands • JAR subdirectories • Execute the jar file • Common mistakes • Bibliography
Executing Jar Application • Jar applications can be run with the following basic command: – java -jar jar-file • So to run our foo.jar if it was an application use: – java –jar foo.jar
Executing Jar Application • Many Operating systems such as the Mac OS will allow the execution of jar applications by simply double clicking on them.
Executing Jar Applets • Applets are invoked from applet tags in HTML code. • To execute an Applet simply add the name of the jar file into the applet tag is under the archive parameter.
Executing Jar Applets • For example, using the applet tag for your Foo.jar archive, you would use the following: <applet code=TicTacToe.class archive= � foo.jar" width=120 height=120> </applet>
Creating Jar Files: Advanced method • The more formal and complete way to create a jar file is described in the following slides. • Note that the more complex your process, the more difficulty a beginning Java user is going to have with it.
Create manifest.mf Create a new notepad file named manifest.mf. This file contains two lines that define the author and the main class and a third line that is blank: Created By:<space>Name ( student number ) - Main-Class:<Space>name of main class <blank line> For example: for the demo program manifest.mf is: Created By: Hugh Murrell (7525684562) - Main-Class: BigIntegerDemo <blank line>
Jar file and Jar Commands • Next, create a jar file using the � jar � command in java. Here is the command. jar cvfm <the jar file name>.jar manifest.mf a.class b.class …… .. There are spaces between each file and class name. ! Here are the basic jar commands Create Jar file => jar cf jar-file input-file View Jar file => jar tf jar-file Extract Jar file => jar xf jar-file
JAR Subdirectories • The JAR format also support storing files in a directory structure. Consider the following structure:
JAR Subdirectories
JAR Subdirectories • If we want to keep the same structure, we can compress files by typing: jar cvfm Sample.jar Sample.mf Sample.class Turtle.class Sample.java Turtle.java images �
JAR Subdirectories � -3��/��������������2�.::�.���.��� � ���-�������� � ���-�������������- ���� � ��.�:�� /�.���� � �-����� /�.���� � ��.�:�� �.�.�� � �-����� �.�.�� � ���.2������.2�����.2�� 2�1�� � ���.2�����.2�� 2�1� � ���.2�����.2�� 2�1��
Executing the Jar File • There are two ways to execute jar files. • 1. If an OS can read *.jar as javaw.exe or java.exe, users can double click jar files on the window. Otherwise: • 2. In a command window, type in java –jar jar-file
Viewing manifest information To view then contents of your manifest file I will issue the shell command: • unzip –p demo.jar META-INF/MANIFEST.MF the –p option for unzip causes output to be sent to the console.
Common Mistakes • Forgetting to leave a blank line after the main class declaration in the manifest.mf. OS may return � Fail to load Main-Class manifest attribute � error in Windows machines. • Failing to compress all your files. You have to type in all the files you want to compress. Separate these files with a space.
Bibliography • Packaging Programs in JAR Files , and Running JAR-Packaged Software http://java.sun.com/docs/books/tutorial/ deployment/jar/index.html �
Recommend
More recommend