我执行java -jar oahelp.jar时出现:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sofe/Office (wron
g name: Office)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
请问这是什么错误?
我在com/sofe目录 下执行 java Office 可以正常显示!
我想弄成jar执行,就出现以上错误!请高手指点一下

解决方案 »

  1.   

    有没有在MANIFEST.MF内指定主类?
    如:
    Manifest-Version: 1.0
    Created-By: 1.5.0_05 (Sun Microsystems Inc.)
    Main-Class: Hello回车
      

  2.   

    按照楼上说的重新打包.如果包含其他类库一定要在classpath中加上
      

  3.   

    Manifest-Version: 1.0
    Created-By: 1.5.0_06 (Sun Microsystems Inc.)
    Main-Class: OA.classes.Office
    我有定义
      

  4.   

    我有其它类库要怎么加到CLASSPATH中?
      

  5.   

    将你生成的jar 解压,看看目录结构是不是正确~
      

  6.   

    ps 楼主是51js 的风云舞 吗?
      

  7.   

    想必是在程序中import了其他jar包,在运行时指定就可以了。
    java -jar *.jar -classpath ./improted.jar