If I have an entity that implements an interface, and this interface is in another jar, the plugin can not enhance the entity. The plugin can not load class bytes. Here is part of the exception
java.lang.RuntimeException: IOException reading bytes for bg/metering/backend/rest/DateDependantObject
at io.ebean.enhance.entity.ClassPathClassBytesReader.getClassBytes(ClassPathClassBytesReader.java:42)
at io.ebean.enhance.common.EnhanceContext.getClassBytes(EnhanceContext.java:77)
at io.ebean.enhance.common.ClassMetaReader.readFromResource(ClassMetaReader.java:53)
at io.ebean.enhance.common.ClassMetaReader.getWithCache(ClassMetaReader.java:35)
at io.ebean.enhance.common.ClassMetaReader.get(ClassMetaReader.java:27)
at io.ebean.enhance.common.EnhanceContext.getInterfaceMeta(EnhanceContext.java:174)
at io.ebean.enhance.common.DetectEnhancement.visit(DetectEnhancement.java:94)
at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:637)
at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:521)
at io.ebean.enhance.Transformer.detect(Transformer.java:297)
at io.ebean.enhance.Transformer.transform(Transformer.java:112)
at java_lang_instrument_ClassFileTransformer$transform.call(Unknown Source)
at org.avaje.ebean.gradle.EbeanEnhancer$_enhanceClassFile_closure2.doCall(EbeanEnhancer.groovy:57)
at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
.... .....
Caused by: java.io.FileNotFoundException: JAR entry bg/metering/backend/rest/DateDependantObject.class not found in /mnt/devel/git/project/metering/grid-meter/rest/build/libs/rest-1.0.jar
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:142)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
at java.net.URL.openStream(URL.java:1045)
at io.ebean.enhance.entity.ClassPathClassBytesReader.getClassBytes(ClassPathClassBytesReader.java:38)
... 203 more
the interface - DateDependantObject.class is compiled and is in rest-1.0.jar
If I have an entity that implements an interface, and this interface is in another jar, the plugin can not enhance the entity. The plugin can not load class bytes. Here is part of the exception java.lang.RuntimeException: IOException reading bytes for bg/metering/backend/rest/DateDependantObject at io.ebean.enhance.entity.ClassPathClassBytesReader.getClassBytes(ClassPathClassBytesReader.java:42) at io.ebean.enhance.common.EnhanceContext.getClassBytes(EnhanceContext.java:77) at io.ebean.enhance.common.ClassMetaReader.readFromResource(ClassMetaReader.java:53) at io.ebean.enhance.common.ClassMetaReader.getWithCache(ClassMetaReader.java:35) at io.ebean.enhance.common.ClassMetaReader.get(ClassMetaReader.java:27) at io.ebean.enhance.common.EnhanceContext.getInterfaceMeta(EnhanceContext.java:174) at io.ebean.enhance.common.DetectEnhancement.visit(DetectEnhancement.java:94) at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:637) at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:521) at io.ebean.enhance.Transformer.detect(Transformer.java:297) at io.ebean.enhance.Transformer.transform(Transformer.java:112) at java_lang_instrument_ClassFileTransformer$transform.call(Unknown Source) at org.avaje.ebean.gradle.EbeanEnhancer$_enhanceClassFile_closure2.doCall(EbeanEnhancer.groovy:57) at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) .... ..... Caused by: java.io.FileNotFoundException: JAR entry bg/metering/backend/rest/DateDependantObject.class not found in /mnt/devel/git/project/metering/grid-meter/rest/build/libs/rest-1.0.jar at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:142) at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150) at java.net.URL.openStream(URL.java:1045) at io.ebean.enhance.entity.ClassPathClassBytesReader.getClassBytes(ClassPathClassBytesReader.java:38) ... 203 more
the interface - DateDependantObject.class is compiled and is in rest-1.0.jar