(1) 生成jar包的URL
URL u=new URL("jar:"+"FirstAppplet.jar"+!/");
(2) 建立jarURLConnection对象
JarURLConnection juc=(JarURLConnection)u.openConnection();
(3) 返回jar包中主类的名字
Attributes attr=juc.getMainAttributes();
String name=attr.getValue("Mani-Class");
一定要确保你的jar包中的manifest.mf中已正确的设置了Mani-Class属性,再强调一下一定要注意规则。
(4) 根据得到的主类名创建Class对象
Class c=Class.forName(name);
(5) 根据Class对象调用其main方法:
Method cm=c.getMethod("main",new Class[]{String.class});
cm.invoke(null,new Object[]{});
*************如何调用***************
提示:上边用到了Reflection反射机制的相关知识,大家如果多反射机制有兴趣,可查看java.lang.reflect包中的相关内容.
八.JAR命令使用技巧:
(1) jar创建压ZIP文件
jar cvfM TestZIP.jar test 加M参数为了不生成META-INF相关内容
然后将TestZIP.jar改为TestZIP.zip就可以,是不是很简单....
(2) 使用WinRAR解压.jar文件
上边我们已经说过了,说JAR文件是一种特殊的压缩文件,所以它当然可以用我们常用的一些解压缩工具来解了,
至于怎么解,这就不用我说了吧。
(3) 用WinRAR生成.jar文件
我们已经说过JAR包与ZIP包主要区别就是JAR包中多一个META-INF的目录,
META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了。
目录的结构如下:
TestJar
|--META-INF
|--manifest.mf
|--相关的类文件
注意:还应该在manifest.mf填写内容,不会写?照着一个已有的抄不就行了。