和我一样在这个难题中苦苦挣扎的同志们能够得到欣慰的答案!~~
~~从而,从此~~摆脱苦海,继续Java的学习征程!~~~
声明:本例在JDK1.3.0中调试成功!
注:只要一个普通的APPLET小程序和JAVA程序两者都能运行,此例就能成功.(假如,你的APPLET在AUTOEXEC.BAT没有存在任何的CLASSPATH能够运行,那么,你就不必调整和添加任何的CLASSPATH!~~~~)
好了,我们开始:
1,写一个APPLET小程序,命名为MyClass.java.如下:
(引用论坛高手的程序,我在此鸣谢!)
import java.awt.*;
import java.awt.event.*;
public class MyClass{
public static void main(String[] args){
Frame f = new Frame();
f.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
f.add(new Label("Hello world"));
f.setSize(200,200);
f.setVisible(true);
}
}
//over~~~
然后,编译为MyClass.class.另外,随之出现了一个文件MyClass$1.class.
这一步的最后,需要写一个文件,命名为mm.mft.如:
Manifest-Version: 1.0
Main-Class: MyClass
Classpath: .MyJar.jar
你要注重:这三行冒号后有且只有一个空格.每一行后不能有空格.第三行就是在运行你自己编辑的APPLET小程序时需要调用的类路径,由系统通过它完成调用.这就是为什摸JDK1.3.0不用设置CLASSPATH就能编译的原因!!(这是我个人的理解,嘻嘻!~~~)在这里,为在WINDOW的MS-DOS下运行*.jar,我们可以要,也可以不要它.
2,假如类文件放在c:jv下,那么把它作为当前路径,在当前路径下键入命令:
jar cvfm MyJar.jar mm.mft MyClass.class MyClass$1.class
这是,生成MyJar.jar文件.
注重:把编译生成的所有文件都要写在这个命令后面.若把当前所有的文件都压缩进*.jar,只须这样写:jar cvfm MyJar.jar mm.mft *.class
3.运行*.jar.
有两种方法:可以双击*.jar文件,也可以在MS-DOS窗口.
若是后者,要键入命令:
java -jar MyJar.jar
等到出现了运行时刻环境WEB浏览器的窗口,说明*.jar运行成功.
我在这里耽误的时间最长~~~
注重:这个命令后,系统常有两种提示:从MyJar.jar找不到′main′;还有mm.mft出错.还有别的呢~~这些可能都是mm.mft文件里面写入的内容不符合要求造成的!请严格按照提到的事项进行操作:)
另外,jar和java这两个命令会有什么需要你输入注重的事情(我指的是:你可能会想到要键入命令的参数:-c x:y;z),在这里你不必担心.因为,我们前面说了,只要能运行APPLET和JAVA程序即可. 而jar命令除了对CLASSPATH有要求外,只是仅仅对mm.mft中的Main-Class有所要求罢了.~~~~~~~
假如还有什么解决不了的问题.可以给我在这里留言.
作者:ghzghz