Caused by: java.lang.ClassNotFoundException: com.digitmovies.cinema.db.DCMovie
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.cayenne.di.spi.DefaultAdhocObjectFactory.getJavaClass(DefaultAdhocObjectFactory.java:102)
at org.apache.cayenne.util.Util.getJavaClass(Util.java:681)
at org.apache.cayenne.map.ObjEntity.getJavaClass(ObjEntity.java:299)
at org.apache.cayenne.reflect.PersistentDescriptorFactory.getDescriptor(PersistentDescriptorFactory.java:57)
at org.apache.cayenne.reflect.ClassDescriptorMap.createDescriptor(ClassDescriptorMap.java:128)
Relevant code in DefaultAdhocObjectFactory.java:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); // I see that is is set to: DependencyClassLoader
if (classLoader == null) {
classLoader = DefaultAdhocObjectFactory.class.getClassLoader();
}
// use custom logic on failure only, assuming primitives and arrays are not that
// common
try {
return Class.forName(className, true, classLoader);
}
catch (ClassNotFoundException e)
Regards
Amedeo