I have followed the wiki tuto about o3 installation unsing Openmrs-Sdk by using
- The lastest version of the sdk
- Java 21
- the latest version of
and i have this bug:
org.openmrs.module.ModuleException: Unable to start OpenMRS. Error thrown was: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘patientServiceTarget$child#0’ defined in URL [jar:file:/C:/Users/openmrs/openmrs/oo/.openmrs-lib-cache/idgen/lib/idgen-api-4.15.0-SNAPSHOT.jar!/moduleApplicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.openmrs.api.impl.PatientServiceImpl: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.ReflectUtils$6: ClassLoader mismatch for [org.openmrs.api.impl.PatientServiceImpl]: JVM should be started with --add-opens=java.base/java.lang=ALL-UNNAMED for ClassLoader.defineClass to be accessible on org.openmrs.util.OpenmrsClassLoader; consider co-locating the affected class in that target ClassLoader instead. at org.openmrs.web.WebDaemon.lambda$startOpenmrs$0(WebDaemon.java:44) at org.openmrs.api.context.Daemon.lambda$runInDaemonThreadInternal$5(Daemon.java:452) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: javax.servlet.ServletException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘patientServiceTarget$child#0’ defined in URL [jar:file:/C:/Users/openmrs/openmrs/oo/.openmrs-lib-cache/idgen/lib/idgen-api-4.15.0-SNAPSHOT.jar!/moduleApplicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.openmrs.api.impl.PatientServiceImpl: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.ReflectUtils$6: ClassLoader mismatch for [org.openmrs.api.impl.PatientServiceImpl]: JVM should be started with --add-opens=java.base/java.lang=ALL-UNNAMED for ClassLoader.defineClass to be accessible on org.openmrs.util.OpenmrsClassLoader; consider co-locating the affected class in that target ClassLoader instead. at org.openmrs.web.Listener.startOpenmrs(Listener.java:371) at org.openmrs.web.WebDaemon.lambda$startOpenmrs$0(WebDaemon.java:42) … 6 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘patientServiceTarget$child#0’ defined in URL [jar:file:/C:/Users/openmrs/openmrs/oo/.openmrs-lib-cache/idgen/lib/idgen-api-4.15.0-SNAPSHOT.jar!/moduleApplicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.openmrs.api.impl.PatientServiceImpl: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.ReflectUtils$6: ClassLoader mismatch for [org.openmrs.api.impl.PatientServiceImpl]: JVM should be started with --add-opens=java.base/java.lang=ALL-UNNAMED for ClassLoader.defineClass to be accessible on org.openmrs.util.OpenmrsClassLoader; consider co-locating the affected class in that target ClassLoader instead. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.openmrs.module.ModuleUtil.refreshApplicationContext(ModuleUtil.java:884) at org.openmrs.module.web.WebModuleUtil.refreshWAC(WebModuleUtil.java:946) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:717) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:697) at org.openmrs.web.Listener.startOpenmrs(Listener.java:358) … 7 more Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.openmrs.api.impl.PatientServiceImpl: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.ReflectUtils$6: ClassLoader mismatch for [org.openmrs.api.impl.PatientServiceImpl]: JVM should be started with --add-opens=java.base/java.lang=ALL-UNNAMED for ClassLoader.defineClass to be accessible on org.openmrs.util.OpenmrsClassLoader; consider co-locating the affected class in that target ClassLoader instead. at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:209) at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:480) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:344) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:293) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:455) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) … 20 more Caused by: org.springframework.cglib.core.ReflectUtils$6: ClassLoader mismatch for [org.openmrs.api.impl.PatientServiceImpl]: JVM should be started with --add-opens=java.base/java.lang=ALL-UNNAMED for ClassLoader.defineClass to be accessible on org.openmrs.util.OpenmrsClassLoader; consider co-locating the affected class in that target ClassLoader instead. at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:583) at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:363) at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:585) at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:110) at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:108) at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:134) at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:319) at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:572) at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:419) at org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:57) at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:206) … 27 more Caused by: java.lang.LinkageError: loader org.apache.catalina.loader.ParallelWebappClassLoader @48f2054d attempted duplicate class definition for org.openmrs.api.impl.PatientServiceImpl$$EnhancerBySpringCGLIB$$352f03c3. (org.openmrs.api.impl.PatientServiceImpl$$EnhancerBySpringCGLIB$$352f03c3 is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @48f2054d, parent loader org.codehaus.plexus.classworlds.realm.ClassRealm @7efa3f63) at java.base/java.lang.ClassLoader.defineClass0(Native Method) at java.base/java.lang.System$2.defineClass(System.java:2390) at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass(MethodHandles.java:2505) at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass(MethodHandles.java:2480) at java.base/java.lang.invoke.MethodHandles$Lookup.defineClass(MethodHandles.java:1865) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:576)
Any help please ?