我试了用eclipse打包成可执行的jar文件,或者在windows控制台用jar命令来做,
最终生成的jar包里确实有MANIFEST.MF文件,Main-Class: 写的也没问题现象:
在windows控制台用java -jar xxx.jar 可以运行
但是双击没有反应
我右键jar包,看到关联的程序确实是javaw程序在网上看大伙的方法,试了都不行那我就不明白了。

解决方案 »

  1.   

    你用cmd将你的文件打包成jar文件试一试
      

  2.   

    右键切换打开方式,使用Java(TM) PlatForm SE binary 打开,希望能够帮助到你
      

  3.   

    在CMD里运行:
    java jar包名字看报错
      

  4.   

    确实是这样设置的
    http://jingyan.baidu.com/article/200957617c3619cb0621b44d.html
    看看这篇文章
      

  5.   

    .jar文件默认关联的是javaw,如果你打开的是控制台程序,那是因为控制台程序是不能用javaw打开的,javaw只能打开具有图形界面的Java程序。
    如果你想双击打开,可以新建一个记事本文件,并将扩展名改为bat,然后右键-编辑,输入命令 java -jar xxx.jar 保存,双击这个bat文件即可运行xxx.jar。
      

  6.   

    你试一试:
    用命令行编译java并生成可执行的jar包
    如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译、打包等工作。
    拿自己编写的“java记事本”为例,介绍一下这个过程:
    1.编写源代码。
    编写源文件:NotePad.java并保存,例如:E:\myApp\NotePad.java。程序结构如下:
    package test;
    import java.awt.*;
    import javax.swing.*;
    //更多包的导入...
    class NotePadFrame extends JFrame {
    //主界面的设计...
    }
    //其他相关代码...
    public class NotePad {
    public static void main(String[] args) {
    new NotePadFrame();
    }
    }
    2.打开终端。
    打开系统菜单:“开始”->“运行...”->输入“cmd”,打开终端。
    执行如下命令转到源文件所在目录:
    e:
    cd myApp
    3.编译源文件。
    输入如下命令进行编译:
    javac NotePad.java
    执行成功之后,会在当前目录下生成一系列.class文件。
    4.新建包文件夹。
    输入如下命令新建包文件夹:
    mkdir test
    也可在资源管理器新建此文件夹。
    此文件夹必须与源文件中定义的包名完全一致(package test;)。
    5.将类文件放到新的文件夹里。
    在资源管理器里将编译生成的所有.class文件移动到新建的test文件夹。
    6.测试程序是否可正常运行。
    在E:\myApp路径下输入如下命令:
    java test.NotePad
    如果可以正常运行程序,就可以进行下一步了。否则应检查上述步骤的正确性。
    7.生成可执行的jar包。
    在E:\myApp路径下输入如下命令:
    jar -cef test.NotePad NotePad.jar test
    以上命令及参数的含义如下:
    jar命令为java自带的专用打包工具;
    c代表生成新的jar包;
    e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.NotePad;
    f代表生成的jar包的名称,在本例中是NotePad.jar。此包名可以随意命名,没有规定;
    test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
    8.测试jar包是否可正常运行。
    在E:\myApp路径下输入如下命令:
    java -jar NotePad.jar
    如果可以正常运行程序,则说明jar包制作成功。
    如果已经将“Java(TM) Platform SE binary”关联到.jar文件类型(通过正常安装jdk后都会正确关联),还可以通过双击来执行此类jar包,其感受与exe文件相同。
      

  7.   

    >ftype jarfile
    jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*>assoc .jar
    .jar=jarfile
      

  8.   


    如果想双击运行jar文件,不想通过bat文件运行,有办法吗?
      

  9.   

    设定运行方式的时候,可以设置加参数 -jar 
      

  10.   


    我去注册表里看了,javaw的command里,确确实实是加上了-jar "%1"
    完整的  "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
      

  11.   

    Sorry,刚才没看清楚你的注册表路径,应该是改
    HKEY_CLASSES_ROOT\jarfile\shell\open\command
    中的默认项,把路径中的javaw改成java即可,其他部分不变
    例如:"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
    改为:"C:\Program Files\Java\jre7\bin\java.exe" -jar "%1" %*