This error occurs because an implementation class is cast to an incompatible interface. Several questions can be made in this situation:
- are there any overlapping jars, with different versions of the same class?
- Are the multiple versions of the same class all identical or not ?
- where are the different versions of a given class located ?
- which class loader is loading which version of a given class ?
- What does the chain of classloaders look like, how are the class loaders configured ?