Resuming (after some years) with:
JRebel 6.5.1
ObjectDB-2.6.9_06 as JPA provider (with it own compile-time enhancement)
NetBeans8.1 (but Glassfish4.1, because for some strange reason my large web app takes about 10 times longer to deploy on Glassfish4.1.1 or Payara4.1).
In a relatively standard (but somewhat old) very large NetBeans web app, deployed over …/build/web.
I am getting copious output (1000s of lines) in the Glassfish log on deployment.
The basic form of the error (which repeats for many EJBs) seems to have something to do with a clash between ObjectDB’s enhancement and JRebel (at least as far as I can tell). For example (adapted Glassfish log output):
Info: [2016-10-29 20:16:46 #6 enhancer.agent]
Not Enhanced: com/example/ejb/query/__EJB31_Generated__ExampleQuery__Intf__: com.objectdb.o.TEX: Type com.example.ejb.query.__EJB31_Generated__ExampleQuery__Intf__ is not found
at com.objectdb.o.MSG.e(MSG.java:108)
at com.objectdb.o.SCM.w(SCM.java:459)
at com.objectdb.o.JEW.aG(JEW.java:160)
at com.objectdb.JEnhancerAgent.transform(JEnhancerAgent.java:155)
at org.glassfish.persistence.jpa.ServerProviderContainerContractInfo$1.transform(ServerProviderContainerContractInfo.java:98)
at org.glassfish.web.loader.WebappClassLoader$3.preprocess(WebappClassLoader.java:3465)
at org.glassfish.web.loader.WebappClassLoader.process(WebappClassLoader.java)
at org.zeroturnaround.javarebel.integration.util.WeakUtil$WeakClassBytecodeProcessorAdapter.process(SourceFile:287)
at com.zeroturnaround.javarebel.rx.a(SourceFile:365)
at com.zeroturnaround.javarebel.rx.a(SourceFile:354)
at com.zeroturnaround.javarebel.rx.b(SourceFile:407)
at com.zeroturnaround.javarebel.SDKIntegrationImpl.processManagedClass(SourceFile:43)
at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(SourceFile:35)
at com.zeroturnaround.javarebel.px.transform(SourceFile:94)
at java.lang.ClassLoader.defineClass(ClassLoader.java)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.zeroturnaround.javarebel.ps.a(SourceFile:96)
at com.zeroturnaround.javarebel.ps.a(SourceFile:85)
at com.zeroturnaround.javarebel.pz.a(SourceFile:440)
at com.zeroturnaround.javarebel.SDKIntegrationImpl.defineReloadableClass(SourceFile:111)
at com.sun.ejb.codegen.EjbOptionalIntfGenerator.__define(EjbOptionalIntfGenerator.java)
at com.sun.ejb.codegen.EjbOptionalIntfGenerator.makeClass(EjbOptionalIntfGenerator.java)
at com.sun.ejb.codegen.EjbOptionalIntfGenerator.access$200(EjbOptionalIntfGenerator.java:65)
at com.sun.ejb.codegen.EjbOptionalIntfGenerator$1.run(EjbOptionalIntfGenerator.java:100)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.ejb.codegen.EjbOptionalIntfGenerator.loadClass(EjbOptionalIntfGenerator.java:97)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:753)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:143)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:137)
at com.sun.ejb.containers.StatelessContainerFactory.createContainer(StatelessContainerFactory.java:61)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:221)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:291)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:99)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:206)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:313)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:496)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.example.ejb.query.__EJB31_Generated__ExampleQuery__Intf__
at java.lang.ClassLoader.findClass(ClassLoader.java:530)
at com.objectdb.o.ACL.loadClass(ACL.java:131)
at com.objectdb.o.BCL.loadClass(BCL.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.objectdb.o.SCM.w(SCM.java:455)
... 76 more
Severe: [2016-10-29 20:16:46 #6 enhancer.agent]