一个一直在开发的工程,现在在用ANT打包成JAR后居然无法双击启动了(用同一个build.xml打包的旧版本还能运行!).但编译过的原程序在ECLIPSE的JAVA环境里可以运行.我试着用ECLIPSE直接EXPORT成JAR等方法测试,估计问题可能出在MAINCLASS本身,它是一个main启动的JFRAME.但为什么编译能运行,打包就不行了呢?(而且也不是ANT的问题)
请问有没有办法调试JAR,找出问题所在?
急切向大家求教!!

解决方案 »

  1.   

    jar包默认就是不能运行,运行必须要配置一个相关的文件,楼主可以上google搜一下。
      

  2.   

    你没有看清我的问题. 我当然配制了JAR的MAINCLASS.
    这个工程我打包过无数遍了,以前的都能正常运行,就是最近才出问题的.
    恳请大家指点迷津! 真的很急!
      

  3.   

    may be the manifest file in the jar
      

  4.   

    会不会一些resource访问不到,或者三方的包没有加到清单的classpath里面
      

  5.   

    或者 java web那个东东装了之后可以自运行。
      

  6.   

    一个是你设置了主运行类没有?
    另一个是程序所需要的其它第三方的类包是否也打进去包了?或者在manifest里指明了?如下所示META-INF\MANIFEST.MF文件内容Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: YuLimin
    Main-Class: net.echochina.Main
    Class-Path:xxx.jar lib\yyy.jar
      

  7.   

    问题找到了!
    楼上几位说的问题我之前都考虑到了,而且都不是。还是要谢谢大家的热心。是文件名大小写的问题 -- 在windows ECLIPSE下,类调用本地文件忽略文件名大小写;但编译成JAR以后,大小写敏感。奇怪的是,编译的时候居然没有错误和异常发生。我是把原来的JFRAME换成APPLET,再调用JAVA CONSOL查出问题的!希望有人能有更好的方法。其实原因很简单,但原理不知道。还希望有高手能解释一下!差不多就散分了。