写了一个小段代码
package com.wrox.utilities;public class test1{
public test1() {
}
public static void main(String[] args) {
System.out.println("afasfdasfsadgsa");
}
}
然后用ant编译以后在D:\begjsp\WEB-INF\classes\com\wrox\utilities下生成一个test1.class文件,然后运行这个class文件报错
Exception in thread "main" java.lang.NoClassDefFoundError: test1 (wrong name: co
m/wrox/utilities/test1)
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)但是如果我将这个java文件放在c盘根目,编译,运行就是好的,请问是什么原因导致这个错误,谢谢!~
package com.wrox.utilities;public class test1{
public test1() {
}
public static void main(String[] args) {
System.out.println("afasfdasfsadgsa");
}
}
然后用ant编译以后在D:\begjsp\WEB-INF\classes\com\wrox\utilities下生成一个test1.class文件,然后运行这个class文件报错
Exception in thread "main" java.lang.NoClassDefFoundError: test1 (wrong name: co
m/wrox/utilities/test1)
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)但是如果我将这个java文件放在c盘根目,编译,运行就是好的,请问是什么原因导致这个错误,谢谢!~
我输入的命令行是在这个目录下D:\begjsp\WEB-INF\classes\com\wrox\utilities输入java test1,所以就报错了 ,应该是D:\begjsp\WEB-INF\classes下输入java com.wrox.utilities.test1就好了!~
test1.class的位置是在环境变量yourclasspath\com\wrox\utilities
如果在D:\begjsp\WEB-INF\classes\com\wrox\utilities运行java test1
类装载器会在当前目录来查找test1.class,但是test1.class是在相对于当前目录的com\wrox\utilities目录下,所以装载失败