在Eclips导出选项里选择jar包,这是MANIFEST.MF文件
1.Manifest-Version: 1.0   
2.Ant-Version: Apache Ant 1.6.2   
3.Created-By: 1.5.0_06-57   
4.Built-By: hani   
5.Main-Class: net.walsece.game.MainGame   
6.Class-Path: lib/substance.jar  
我确信MainClass的包路径是正确的。项目引用lib目录下的substance.jar在导出时有警告提示但是不报错。Exported with compile warnings: /llk/src/net/walsece/game/XXX.java然后在单击这个jar运行时弹出错误提示 找不到main class 程序将退出。在把生成的jar解压开之后查看 MF文件,内容是
1.Manifest-Version: 1.0   
2.Class-Path: lib/substance.jar   
3.Built-By: hani   
4.Created-By: 1.5.0_06-57 ("Apple Computer, Inc.")   
5.Ant-Version: Apache Ant 1.6.2   
6.Main-Class: net.walsece.game.MainGame 
各位不要在网上寻找些答案复制过来了。在这里问,肯定是各种方法都试过了不好使。
 

解决方案 »

  1.   

    net.walsece.game.MainGame  类里有main方法吗
      

  2.   

    解压后的目录符合net.walsece.game.MainGame 么?
      

  3.   

    目录符合路径的我晕·· 常年做J2EE java环境变量都配不对了? cmd jar 提示不是内部外部命令我嘞个去CLASSPATH:
    .;%JAVA_HOME%\lib\tools.jar
    JAVA_HOME:
    C:\Program Files\Java\jdk1.6.0_02
    PATH:
    ...;%JAVA_HOME%\bin
     有问题?
      

  4.   

    dos环境下编译的 错误信息D:\MailServer>java -jar llk.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jvnet/substance/skin/SubstanceOfficeBlue2007LookAndFeel
    Caused by: java.lang.ClassNotFoundException: org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel
      

  5.   

    解压后的路径也符合  net.walsece.game.MainGame 这个路径
      

  6.   

    打开方式错误,缺少参数
    打开注册表 将HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command
    里面的参数值修改下"F:\java\jre6\bin\javaw.exe" -jar "%1" "%*
    有颜色的该为你的机器上的程序位置
      

  7.   

    在Eclips导出选项里选择jar包,只能导出简单的小程序。如果用到额外jar包,我都是手工打包的。
    第一步:创建manifest.mf文件:
    Manifest-Version: 1.0 
    Main-Class: Transfer
    class-path: lib/sqljdbc.jar lib/jdbc.jar lib/progress.jar
    Created-By: 打包java文件 第二步:打包。
    cmd 下进入名字为abc的目录下,
    jar cvfm abc.jar MANIFEST.MF *.*
    classpath配置里空格数量以及回车符极容易导致出错。
      

  8.   

    你使用的substance.jar 是哪个版本的?5.0版包结构已经变化了(不知从哪个版本开始的)
    org/pushingpixels/substance/api/skin/SubstanceOfficeBlue2007LookAndFeel.class另外,substance.jar 依赖 trident.jar
      

  9.   

    哦,问题倒是解决了,我没有打包tradent.jar。
    现在可以在命令行运行 java -jar 运行,但是我用exe4j等工具发布成exe之后,总提示java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)然后启动失败,这个又纠结一下午了。。这是为何。。,可以在命令行、或者直接双击jar包运行,但一打包成exe就是这个问题。
      

  10.   

    各种求解。。
    纠结两天了,
    感觉java做swing开发的速度和c#winform、VB没法比了。。
    或许是我做J2SE新手撒。
      

  11.   

    还有个细节。
    在打包jar的时候使用的是Eclipse插件fatjar
    打包成功之后 在使用exe4j进行发布操作,选择mainclass时,
    原程序应该是net.walsece.game.MainGame
    在选择时,没有该选项,只有 com.simontuffs.onejar.Boot这个class之后打包出来的EXE就报出了上文中写的错误。