Hello!
I am currently migrating my project to Java 8. I'm using Spring and AspectJ load time weaving. Unluckily the LTW option of Spring is global. If it's enabled it also tries to find other class transformers on the classpath. This is normaly not a problem because the ObjectDB enhancer ignores non @Entity or already enhanced classes but in conjunction with new Java 8 class files it throws an exception which causes Spring to stop weaving.
Caused by: com.objectdb.o.InternalException at com.objectdb.o.InternalException.f(InternalException.java:236) at com.objectdb.o.JCP.p(JCP.java:195) at com.objectdb.o.JCP.k(JCP.java:141) at com.objectdb.o.JCE.<init>(JCE.java:58) at com.objectdb.o.JCP.<init>(JCP.java:80) at com.objectdb.o.JCL.F(JCL.java:423) at com.objectdb.o.JCL.<init>(JCL.java:120) at com.objectdb.JEnhancerAgent.transform(JEnhancerAgent.java:152) at org.springframework.orm.jpa.persistenceunit.ClassFileTransformerAdapter.transform(ClassFileTransformerAdapter.java:57) ... 98 more
I don't use any of the new Java 8 features in my entity classes. So the hotfix would be pretty easy. Just catch the exception and output a log message like "Java 8 weaving currently not supported." instead.
Regards
Ralph