hi!

Right now I am looking into why the itests/failover fails locally.
Might be something stupid I broke, not sure.

Anyway, while looking at it I found the following in the log

Juli 24, 2026 8:10:14 PM 
org.apache.openejb.javaagent.Agent$BootstrapTransformer bootstrap
WARNUNG: Failed to invoke bootstrap: jakarta/persistence/spi/PersistenceUnitInfo
java.lang.NoClassDefFoundError: jakarta/persistence/spi/PersistenceUnitInfo
        at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
        at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402)
        at java.base/java.lang.Class.getMethodsRecursive(Class.java:3543)
        at java.base/java.lang.Class.getMethod0(Class.java:3529)
        at java.base/java.lang.Class.getMethod(Class.java:2225)
        at 
org.apache.openejb.javaagent.Agent$BootstrapTransformer.bootstrap(Agent.java:294)
        at 
org.apache.openejb.javaagent.Agent$BootstrapTransformer.transform(Agent.java:265)
        at 
java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
        at 
java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
        at 
java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
        at 
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
        at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:467)
        at 
java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:808)
        at 
java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:703)
Caused by: java.lang.ClassNotFoundException: 
jakarta.persistence.spi.PersistenceUnitInfo
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        ... 23 more



This happens because the JavaAgent gets attached to the bootstrap classpath. So 
that very jar which winds up getting attached needs to have jakarta.persistence 
available. It seems that's not the case.
Likely only a test setup issue as we would have seen this in production 
otherwise.

LieGrue,
strub

Reply via email to