package fruit;
class apple
{
void A()
{ String s1="red";
System.out.println("The apple is"+s1);
}
}
class orange
{ void show1()
{ String s2="yellow";
System.out.println("The orange is"+s2);
}
}
class pear
{ int show2(int a,int b)
{ return a*b; }
}
class usage
{ public static void main(String args[])
{ int n;
apple p=new apple();
p.A();
orange r=new orange();
r.show1();
pear a=new pear();
n=a.show2(3,4);
System.out.println("The price is+n+dollar.");
}
}
出现如下提示信息:C:\j2sdk1.4.2_12\bin>java usage
Exception in thread "main" java.lang.NoClassDefFoundError: usage (wrong name: fr
uit/usage)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)C:\j2sdk1.4.2_12\bin>
请高手指教一下这到底是怎么回事呀。
class apple
{
void A()
{ String s1="red";
System.out.println("The apple is"+s1);
}
}
class orange
{ void show1()
{ String s2="yellow";
System.out.println("The orange is"+s2);
}
}
class pear
{ int show2(int a,int b)
{ return a*b; }
}
class usage
{ public static void main(String args[])
{ int n;
apple p=new apple();
p.A();
orange r=new orange();
r.show1();
pear a=new pear();
n=a.show2(3,4);
System.out.println("The price is+n+dollar.");
}
}
出现如下提示信息:C:\j2sdk1.4.2_12\bin>java usage
Exception in thread "main" java.lang.NoClassDefFoundError: usage (wrong name: fr
uit/usage)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)C:\j2sdk1.4.2_12\bin>
请高手指教一下这到底是怎么回事呀。
如果想在任何目录下都能运行这个class,必须把fruit\usage这个相对路径所在的绝对路径设置为classpath的值。比如,你的目录结构:e:\source\fruit\usage\,你的class文件都要放在这个路径下,然后把e:\source设置为classpath的值,这样一来,你就可以在任何目录下运行你的class了。