Take the 2-minute tour ×

I am trying to run JUnit tests from Eclipse but while running these tests, I am getting ClassNotFound Exception

Complete Stack Trace follows:

java.lang.NoClassDefFoundError: of Caused by: java.lang.ClassNotFoundException: of at java.net.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) Exception in thread "main"

I have searched google for this and have found that couple of guys have faced this issue but none of them seems to be solving my issue. This can probably be due to difference in platforms

My development platform is as follows

OS: Windows XP
Eclipse JUNO

Mean while, If I run this project using maven it runs absolutely fine.

The most strange part for me is the name of the class for which ClassNotFound Exception is thrown. Name of the class is of.

This is what blows me completely.

Also, what ever stack trace I have listed above, that is all what I get when I get the error nothing else.

I have been stuck in this issue for 2 days now, any help would be greatly appreciated.

share|improve this question
Does doing a Project->Clean on your project in Eclipse solve the issue? –  Shivan Dragon Sep 10 '12 at 13:08
What kind of class is this? of?? –  Prasad S Deshpande Sep 10 '12 at 13:16
".ClassNotFoundException: ?? of ?? at ??" is NOT a class name, it just fails to report the error details correctly. Maven usually spends some time setting up a project before running anything - check what it adds to project classpath that you don't already have in eclipse classpath. If you are not using dynamic class loader in your main method I would suspect that it is JUnit class that it can not find. –  Germann Arlington Sep 10 '12 at 13:29
@ShivanDragon No, i have tried it already and it didn't help. –  Bagira Sep 11 '12 at 5:01
@PrasadSDeshpande I have no idea, this is why i have written Name of the class blows me completely. –  Bagira Sep 11 '12 at 5:02
show 2 more comments

3 Answers

up vote 3 down vote accepted

I tried everything mentioned here and in other posts. Some of the solutions that people proffered were:

  1. Change the output folder for the test
  2. Create a custom builder for the project that would run test-compile from Maven
  3. Move the Maven dependencies higher in the Order and Export list in the project build path

There were many, many more but the one that I found to work was as follows: Close the development environment. Delete the jars used by the project from my local Maven repository. Open the IDE. Build the project. Run the test.

After hours of beating my head against my keyboard and following suggested solutions, this one worked! If that doesn't work, you can try searching for the solutions I listed above.

share|improve this answer
Suddenly tests started to work for me 4-5 days after posting the problem but i never realized, it was due to the these steps which i followed for some other reasons, it started to work. –  Bagira May 18 '13 at 1:53
Thanks @gffny, the step 3 works for me. –  worawee.s Feb 15 at 10:14
add comment

try switching the perspective to JUnit in eclipse and run the tests again

share|improve this answer
That shouldn't really make a difference? –  Ren May 14 '13 at 8:30
add comment

I know this question has already been answered but I will still share my solution here,

  1. Make sure the output folder of 'src/test/java' has been set to 'target/test-classes', this has been said in many other posts so I will not repeat here.

  2. If it still does not work, it is very likely that there are errors during the compiling of your unit test classes. Go 'Window' -> open 'Error Log' view, you should be able to see the detail of the error message.

For my case, a previously downloaded dependency jar is somehow corrupted due to network problems, so just delete the jar from local repository and use 'maven' -> 'update configuration' to download it again.

Then everything works!

share|improve this answer
add comment

Your Answer


