Read the top exception, where it was thrown, skip the stacks, and find "Caused by" to find why the exception was thrown, and so on.
References:
http://javarevisited.blogspot.com/2011/06/noclassdeffounderror-exception-in.html
http://javaeesupportpatterns.blogspot.com/2012/07/javalangnoclassdeffounderror-how-to.html
NoClassDefFoundError - class is there when compile but not found at runtime; JUnit4 may report this but actually the class has a static initializer which has an error in initializing; run with JUnit3 the error is "java.lang.ExceptionInInitializerError"
ClassNotFoundException - try to load class at runtime only and name was provided at runtime, not compile time;
http://darksleep.com/player/JavaAndUnsignedTypes.html
firstByte = (0x000000FF & ((int)buf[index]));
secondByte = (0x000000FF & ((int)buf[index+1]));
thirdByte = (0x000000FF & ((int)buf[index+2]));
fourthByte = (0x000000FF & ((int)buf[index+3]));
index = index+4;
anUnsignedInt = ((long) (firstByte << 24
| secondByte << 16
| thirdByte << 8
| fourthByte))
& 0xFFFFFFFFL;