How to use jar to implement double-click-run like .exe file

How to use jar to implement double-click-run like .exe file

1. workdir=learnJar

目录结构
+ learnJar
 | mf.mf
 |+ test
   | Test.java
 
2. workdir>javac test\Test.java

+ learnJar
 | mf.mf 
 |+ test
   | Test.java
   | Test.class

3. workdir>jar cvfm a.jar mf.mf test\Test.class

+ learnJar
 | mf.mf
 |+ test
   | Test.java
   | Test.class
 |+ a.jar
   |+ META-INF
     | MANIFEST.MF
   |+ test
     | Test.class

 4. workdir>java -jar a.jar
hello world


NOTE
1. manifest.mf可以放在任何位置,也可以是其它的文件名(反正最后jar中的文件名会被自动变为MANIFEST.MF)
2. "Manifest-Version: 1.0"--该行(以及其它行)冒号后面必须是个空格,否则jar时出错"invalid header field"
3. "Main-Class: test.Test<回车>"--该行必须以一个回车符结束,否则无效。
4. 如果是有UI的程序,双击jar文件即可运行。(如果安装了winrar等压缩软件,jar文件会被关联,因此,双击时并不会执行jar程序,而是调用压缩软件来打开jar文件,这时,将jar的关联去掉即可)

Appendix
Test.java

package  test;

import  javax.swing. * ;

public   class  Test  extends  JFrame {
    
public   static   void  main(String[] args) {
        Test impl
= new  Test();
        JLabel label 
=   new  JLabel( " hello world " );
        impl.add(label);
            impl.pack();
        impl.setVisible(
true );
    }

}

mf.mf
Manifest - Version:  1.0
Main
- Class: test.Test
<回车>

你可能感兴趣的:(How to use jar to implement double-click-run like .exe file)