Chinaunix
标题:
Make executable jar file 可执行的jar文件的制作
[打印本页]
作者:
macleo
时间:
2005-01-25 21:30
标题:
Make executable jar file 可执行的jar文件的制作
可执行的jar文件的手动制作方法
Make executable jar file 可执行的jar文件的制作
今天,一直在摸索
可执行的jar文件的制作
,按照从网上搜索得来的"手动制作可执行JAR的方法",那么去做,总是得到下面的错误,百思不得其解.自己摸索了好久,打开J2SDK的关于JAR的文档看了看(
相对于本地机器J2SDK的安装位置docs/tooldocs/windows/jar.html中
),做了试验才发现不是像有些文档那么简单的说只要"Main-class : package.主执行文件",就可以了!其实,最重要的是要在manifest.mf文件中加入"Main-class :"后留一空行或者直接在"Class-Path"这个属性中指明package的名!
Manifest.mf(不加Class-Path属性)
Main-Class: execute.j0001
否则,在建立了jar包后,使用"Java -jar jar包名"时,会出现如下的错误!
d:java>java -jar myjarfile.jar
failed to load main-class manifest attribute from
myjarfile.jar
我们就简单以Hello,Java World举例说明一下吧!
desc.java
//desc.java
//通过继承类来重设desc中的函数达到description this program 的目的
package execute;
public class desc
{
//public String desc="";
public desc()//Constructor
{
}
public void ds(String filename,String desc)//该方法用于为调用该方法的程序输出
{ //一段说明
System.out.println("====================n");
System.out.println("FileName: "+filename+"n");
System.out.println("FileDesc: "+desc+"n");
System.out.println("====================n");
}
}
j0001.java
package execute;
import execute.*;
//can execute class
//可以执行的类
public class j0001 //extends desc
{
public static void main(String[] args)
{
desc fileds = new desc();
fileds.ds("j0001.java","inherit class");
System.out.println("Hello,Java World!");
}
}
Manifest.mf(加Class-Path属性)
Created-By: macleo
Main-Class: execute.j0001
Class-Path: execute
在DOS提示符的方式下输入
d:java>jar cvmf manifest.mf test.jar execute
标明清单(manifest)
增加:execute/(读入= 0) (写出= 0)(存储了 0%)
增加:execute/desc.class(读入= 712) (写出= 411)(压缩了 42%)
增加:execute/j0001.class(读入= 550) (写出= 361)(压缩了 34%)
d:java>
d:java>java -jar test.jar
====================
FileName: j0001.java
FileDesc: inherit class
====================
Hello, Java World!
呵呵,体会到了成功的喜悦了吧?! ^_^/ 好,我们这下大概知道了"executable Jar file"的制作了! 文中举例生成的
j.jar下载
©Xyster Studio By macleo 2004.12.26.Sun.
本文来自ChinaUnix博客,如果查看原文请点:
http://blog.chinaunix.net/u/1724/showart_10688.html
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2