What is the difference between ClassNotFoundException and ClassDefNotFoundException I know that both are subclass of Exception. 
Got some explanation for ClassNotFoundException from this question. What is the difference between NoClassDefFoundError and ClassNotFoundException? 
I read Java doc for ClassDefNotFoundException and it says: 
ClassDefNotFoundException is thrown when the definition of a class cannot be found be the OWB typing system.
Please elaborate above statement, I am unaware of OWB typing system. And what exactly is the difference between both the classed and when these Exceptions are raised.