interface A
{
 int x=100;
 void paint();}
class C implements  A{
double x=200;
public void paint()
{System.out.println("抽象类练习"); }
}
class Example{
    public static void main (String[] args) {
    System.out.println(A.x);    A b=new C();
    b.paint();
        System.out.println(b.x);
    }
}一段简单的代码,我把他打包到Example.jar中,MANIFEST.MF文件修改如下:
Manifest-Version: 1.0
Created-By: 1.5.0_12 (Sun Microsystems Inc.)
Main-Class: Example有空格,也有回车,但是在运行java -jar Example.jar
提示:
Exception in thread "main" java.lang.NoClassDefFoundError: A请教各位怎么解决,是什么问题?

解决方案 »

  1.   

    直接jar Example Example.jar 不可以吗???
      

  2.   

    你看这样行不?
    jar uvfm Example.jar MANIFEST.MF A.class
      

  3.   

    顺便问一下,这样生成的带有main-class的jar包可以在装有jdk的机器上用双击运行?
      

  4.   

    jar不可以双击运行,但可以放在工程中用来被调用
      

  5.   

    **.jre 可双击运行,右键也可以!!
      

  6.   

    直接jar   Example   Example.jar    还不可以运行啊,中间的EXAMPLE是作为参数还是什么,命令格式不对吧,请指教
      

  7.   

    public class   Example{ 
            public   static   void   main   (String[]   args)   { 
            System.out.println(A.x);         A   b=new   C(); 
            b.paint(); 
                    System.out.println(b.x); 
            } 
    }
    http://blog.chinaunix.net/u/21684/showart_217219.html
      

  8.   

    打抱的话,你可以试一下fatjar。是eclipse的插件,专用来做项目打包的,google一下很容易找到。
      

  9.   

    java -cp Example.jar Example
      

  10.   

    问题问题没有得到解决,谁有明确的JAR打包教程吗?3Q
      

  11.   

    不同的虚拟机对jar运行的要求有些差异,IBM比SUN的要求低一些。但只要同时做到以下两点,应该没有问题了。 
    (假设在运行的helloworld.jar在当前目录,驱动xxxDBDriver.jar在src/下) 1.在manifest.mf中加入: 
    Manifest-Version:   1.0 
    Class-Path:   src/xxxDBDriver.jar   
    Main-Class:   yin.test.HelloWorld   2.调用时使用: 
    java   -cp   .;./src;./src/xxxDBDriver.jar   -jar   helloworld.jar 
    see 
    http://topic.csdn.net/u/20071106/23/aa22470e-ebfb-4cd9-a856-c72a5cd6574c.html
      

  12.   

    我是直接用eclipse打包的。我的eclipse是从sun公司下的,没有自己装插件。打包的东西直接双击就可以使用