Distributing your Application as an executable JAR file
5200 단어 application
Distributing your Application as an executable JAR file
A JAR (Java ARchive) is a way of packaging together all of the resources associated with a program (class files, images, sounds, etc.). Putting your program in a JAR allows it to be distributed as a single executable file, saving space and simplifying the download process. The information in this tutorial applies to Java version 1.2 or higher. For more information about JAR files, follow Sun's tutorial . To learn about signing the JAR and Java Web Start .
A simple example. Let's say we wanted to distribute the simple program hello.Java as a JAR. First, we create a text file named Hello.mf which contains:
Manifest-Version: 1.0
Main-Class: Hello
Then, we create the archive by typing:jar cmf Hello.mf Hello.jar Hello.class Hello.java
and run it by typing:java -jar Hello.jar
The fileHello.jar can now be downloaded and executed.
Creating an executable JAR file. Here is the general procedure for creating an executable JAR:
Manifest-Version: 1.0
Main-Class: name of class containing main
The name of the file should end with the .mf suffix. It is important that the file ends with a blank line. jar cmf manifest-file jar-file input-files
The input-files must include any class files, images, sounds, etc. that your program uses. Optionally, you can include the program's .java
files in the JAR. See below for adding directories ot the JAR. jar tf jar-file
java -jar jar-file
If the application is GUI-based, you can also launch it by double-clicking the JAR file. Accessing resources in a JAR. In general, the first step in accessing a JAR resource involves creating a URL. This might require modifying your program. For example, you can no longer use the following code fragment to read in an image that is stored in a file as follows
Image image = Toolkit.getDefaultToolkit().getImage(filename);
Instead, create theURL object using
URL url = getClass.getResource(filename);
Image image = Toolkit.getDefaultToolkit().getImage(url);
Or, if the code is in a static method of classX, then create the URL with
URL url = X.class.getResource(filename);
Now, the resource can be accessed the same way, regardless of whether it is in a JAR or the current directory. See the methodplay(filename)
instd draw.Java for an example involving audio clips, and and the constructor
In(String s)
inin.Java for an example involving text files.
JAR Subdirectories. The JAR format also supports storing files in a directory structure. Consider a program
Sample.java
, which uses the Turtle Graphics interface to display a collection of pictures stored in a subdirectory called images
. Our working directory looks like:The Manifest should read:
Manifest-Version: 1.0
Main-Class: Sample
To create the JAR, type:
jar cmf Sample.mf Sample.jar Sample.class Turtle.class Sample.java Turtle.java images
The contents listing appears as:
META-INF/
META-INF/MANIFEST.MF
Sample.class
Turtle.class
Sample.java
Turtle.java
images/
images/image1.gif
images/image2.gif
images/image3.gif
Notice that the directory structure is still preserved (the META-INF directory is created to hold the manifest and other general information about the JAR).
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pre-Query SamplesValidate the current query criteria or provide additional query criteria programmatically, just before sending the SELEC...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.