Getting ClassNotFoundException in java after removing class file
I removed some class file *.class from a java project. It aims to make the whole project folder clean. Since the project was compilable and running well, I suppose that it will run faster after I clear some *.class.
However, I got exception java.lang.ClassNotFoundException:
at java.n开发者_Go百科et.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
What is wrong with class loader?
I think it's looking for the .class
files you removed? Does the issue go away if you put them back?
.class
files are the executable code that the Java Virtual Machine uses to run your program. If they're not there, then the JVM cannot run your program.
Have you tried cleaning and rebuilding the project through your IDE?
Do NOT remove the *.class
files. Those are what Java loads to run your program!
Recompile your program and try to run it again.
The .class
files are what the Java Virtual Machine "executes". If you delete them, you no longer have a consistent program.
just select Main Tab (with "public static void") and Run again:
A common approach is to not compile your classes into the same directory that the source code lives in. Using tools like Ant or Maven, or from within your IDE, you can easily have your generated class files go to a different directory. This will help reduce the clutter.
精彩评论