例如有如下窗体程序,在package "cn.jar.test" 中,同时,程序有2个资源文件about.txt和about.gif:
目录结构如下:
[img]http://hi.youkuaiyun.com/attachment/201102/21/0_1298270529b23r.gif[/img]
Step 1:切换到..\src\cn\jar\test目录下,用javac编译:
javac ResourceTest.java
Step 2:切换到..\src目录下,运行该程序,检查是否有运行时错误:
java cn.jar.test.ResourceTest
Step 3: 把所有.class文件及资源文件about.txt, about.gif复制到另外一个test目录下,例如c:\src\cn\jar\test。同样是相同的目录结构cn\jar\test。
Step 4:生成jar包,切换到c:\src下:
jar cvf test.jar cn
[img]http://hi.youkuaiyun.com/attachment/201102/21/0_129827507904dH.gif[/img]
Step 5: 加入清单文件: 在c:\src目录下创建test.mf文件,用记事本打开,加入如下行,注意输入完后一定要换行:
Main-Class: cn.test.jar.ResourceTest
Step 6: 更新默认的清单文件:
jar umf test.mf test.jar
于是一个jar包就生成打包好了。可以把test.jar包复制到另外一个目录,如c:\temp下,运行
java -jar test.jar
进行测试打包是否成功。
package cn.jar.test;
import java.awt.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
public class ResourceTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run(){
ResourceTestFrame frame=new ResourceTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
@SuppressWarnings("serial")
class ResourceTestFrame extends JFrame{
public ResourceTestFrame(){
setTitle("ResourceTest");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
URL aboutURL=getClass().getResource("about.gif");
Image img=Toolkit.getDefaultToolkit().getImage(aboutURL);
setIconImage(img);
JTextArea textArea=new JTextArea();
InputStream stream=getClass().getResourceAsStream("about.txt");
Scanner in=new Scanner(stream);
while(in.hasNext()){
textArea.append(in.nextLine()+"\n");
}
add(textArea);
}
public static final int DEFAULT_WIDTH=300;
public static final int DEFAULT_HEIGHT=300;
}
目录结构如下:
[img]http://hi.youkuaiyun.com/attachment/201102/21/0_1298270529b23r.gif[/img]
Step 1:切换到..\src\cn\jar\test目录下,用javac编译:
javac ResourceTest.java
Step 2:切换到..\src目录下,运行该程序,检查是否有运行时错误:
java cn.jar.test.ResourceTest
Step 3: 把所有.class文件及资源文件about.txt, about.gif复制到另外一个test目录下,例如c:\src\cn\jar\test。同样是相同的目录结构cn\jar\test。
Step 4:生成jar包,切换到c:\src下:
jar cvf test.jar cn
[img]http://hi.youkuaiyun.com/attachment/201102/21/0_129827507904dH.gif[/img]
Step 5: 加入清单文件: 在c:\src目录下创建test.mf文件,用记事本打开,加入如下行,注意输入完后一定要换行:
Main-Class: cn.test.jar.ResourceTest
Step 6: 更新默认的清单文件:
jar umf test.mf test.jar
于是一个jar包就生成打包好了。可以把test.jar包复制到另外一个目录,如c:\temp下,运行
java -jar test.jar
进行测试打包是否成功。