我把调试好的Swing项目整个,用Eclipse的打包功能,选好主类后生成了一个jar文件。
照理说是一个可执行的jar文件,可是双击后却弹出一个窗口说: A java exception has occurred。
可是我在Eclipse下调试的时候运行的很好,而且整个项目非常干净(没有任何警告)。
但用jar打包就是不能运行,一运行就报上面的错误。不知道大家有没有遇到过这种情况?

解决方案 »

  1.   

    A java exception has occurred。 
    打包后运行有问题呗你可以通过命令行运行,看看有什么错误信息
      

  2.   

    打包的时候MainClass设置了么?Eclipse打包很方便的……
      

  3.   

    感谢楼上各位的回答。
    其实,我刚才也在努力寻找原因,不经意间我发现一个现象,
    就是那个jar文件原先是放在桌面上的,一运行就报错。
    但是,当我把它放到一个非桌面的路径,比如c:\或某个文件夹下的时候,
    它就可以正常运行。这是怎么回事?
    难道jar文件不能在桌面上运行吗?
      

  4.   

    是命令打包还是eclipse打包的呢?如果是命令,那有没有写清单啊?
      

  5.   

    通过eclipse还是比较方便的,你可以将你做的程序导出来,通过export 选择jar导出类型,记得设置MainClass.这样导出来就可以运行了.
      

  6.   

    swing最好别用eclipse的打包功能。我都是用cvfm打。
    1 在你的bin下新建个 文件夹 META-INF
    2 在这个META-INF 文件夹里新建个文件 MANIFEST.MF
    3 这个文件里写:
    Manifest-Version: 1.0
    Main-Class: 你的主类名
    Class-Path: ./lib/batik-awt-util.jar ./lib/batik-bridge.jar ./lib/batik-css.jar 
     ./lib/batik-dom.jar ./lib/batik-ext.jar ./lib/batik-gui-util.jar ./lib/batik-gvt.jar 
     ./lib/batik-parser.jar ./lib/batik-script.jar ./lib/batik-svg-dom.jar 
     ./lib/batik-swing.jar ./lib/batik-transcoder.jar ./lib/batik-util.jar ./lib/batik-xml.jar 
     ./lib/jcommon-1.0.9.jar ./lib/jdom.jar ./lib/jfreechart-1.0.5.jar ./lib/js.jar 
     ./lib/l2fprod-common-all.jar ./lib/swing-layout-1.0.jar
    最后一行要空一行
    4 开始打包cd to project directory
    cd bin
    jar cvfm "../MySwing.jar" META-INF\MANIFEST.MF *
    cd ..
    java -jar MySwing.jar应该可以了,good luck~