比如我的一个myFrame.java文件, 编译后得到myFrame.class。
然后  jar cvf myFrame.jar myFrame.class
得到 myFrame.jar
但双击不能运行
 
我在机器里找到很多.jar文件是可以双击运行的。

解决方案 »

  1.   

    你看看它们的manifes文件是怎么写的
      

  2.   

    就是你还要指定主类,要不要它从哪里执行呢?
    双击是Windows的习惯,要另外用工具把它转换为exe文件,Jsmooth可以做到.
      

  3.   

    jar文件双击可以运行是因为在你的系统中指定了用javaw.exe来打开jar文件,使用jar命打成的jar包都包含一个META-INF文件夹,这个文件夹下有一个MANIFEST.MF文件,而在可以用javaw.exe来运行的jar中,MANIFEST.MF里都有Main-Class: YourClass项目,它用来告诉javaw从哪个类开始运行。
    对于楼主的问题,先在myFrame.class同一目录下建立一个MANIFEST.MF文件,其内容为:
    Main-Class: myFrame
    (注意一定要有一个回车符结尾)
    然后用下面的命令打包:
    jar cvfm myFrame.jar MANIFEST.MF myFrame.class