[opencms-dev] Antwort: Re: Antwort: Re: Update OpenCMS 10.5 to 11.0.1 - NoClassDefFoundError
Stephan Schrader
zstephanz at gmail.com
Fri Jul 17 13:21:11 CEST 2020
You will need at least: geronimo-jpa_2.0_spec-1.1.jar that JAR contains
javax.persistence. Maybe you will also need ehcache-core-2.4.7.jar
and ehcache-openjpa-0.2.0.jar for caching, but I'm not sure about this.
Stephan
Am Fr., 17. Juli 2020 um 12:17 Uhr schrieb <martin.rosenthal at oerag.de>:
> Hello Michael and Stefan,
>
> thank you for your help. I found the reason for the error. We are using a
> custom OpenCMS module which contains als class for creating
> EntityManagerFactory for the Application. This calls will be loaded by an
> annotation @WebListener.
>
> @WebListener
> public class EMF implements ServletContextListener {
>
> private static EntityManagerFactory emf;
>
> @Override
> public void contextInitialized(ServletContextEvent event) {
> emf = Persistence.createEntityManagerFactory("xxxxxx");
> ServiceFactory.initializeServiceFactory(emf);
>
> }
>
> @Override
> public void contextDestroyed(ServletContextEvent event) {
> if (emf != null) {
> emf.close();
> }
> }
>
> public static EntityManager createEntityManager() {
> if (emf == null) {
> throw new IllegalStateException("Context is not initialized yet."
> );
> }
>
> return emf.createEntityManager();
> }
>
> public static EntityManagerFactory getEntityManagerFactory() {
> return emf;
> }
>
> As persistence provide we are using
> org.apache.openjpa.persistence.PersistenceProviderImpl in the
> persistence.xml file. The db2 driver deliverd by OpenCMS works fine. The
> only problem is to get the above shown class working on startup. I've
> copied the openjpa-2.4.0.jar in the lib directory but it has no effect. I
> get the same error. I think i must write a new class for creating
> EntityManagerFactory .
>
> Regards,
> Martin
>
>
>
>
> Von: Stephan Schrader <zstephanz at gmail.com>
> An: The OpenCms mailing list <opencms-dev at opencms.org>
> Datum: 17.07.2020 10:32
> Betreff: Re: [opencms-dev] Antwort: Re: Update OpenCMS 10.5 to
> 11.0.1 -
> NoClassDefFoundError
> Gesendet von: opencms-dev-bounces at opencms.org
>
>
>
> Hi Martin,
>
> I would say, it depends. If you have custom classes referencing
> javax.persistence.EntityManagerFactory then copy the missing JARs (OpenJPA
> or Hibernate) to the WEB-INF/lib folder or update the dependency management
> in your build tool. But this depends on your setup.
>
> If you used the OpenCms JPA DB driver before, then you need to configure
> the non JPA DB driver as Michael mentioned.
>
>
> https://documentation.opencms.org/javadoc/core/org/opencms/db/db2/package-summary.html
>
> Stephan
>
> Am Fr., 17. Juli 2020 um 07:02 Uhr schrieb <martin.rosenthal at oerag.de>:
> Hello Stephan,
>
> thanks for your reply. It's really strange. What can i / should use
> instead
> of JPA???
>
> Regards,
> Martin
>
>
>
>
> Von: Stephan Schrader <zstephanz at gmail.com>
> An: The OpenCms mailing list <opencms-dev at opencms.org>
> Datum: 16.07.2020 20:37
> Betreff: Re: [opencms-dev] Update OpenCMS 10.5 to 11.0.1 -
> NoClassDefFoundError
> Gesendet von: opencms-dev-bounces at opencms.org
>
>
>
> Hi Martin,
>
> the JPA support has been removed with commit:
>
> https://github.com/alkacon/opencms-core/commit/375c6bf71f645a84d9121d84beb75c111bc5734a
>
> . Unfortunately I haven't found any reason.
>
> Stephan
>
> Am Do., 16. Juli 2020 um 12:15 Uhr schrieb <
> martin.rosenthal at oerag.de
> >:
>
> Hello,
>
> i'm trying to upgrade my local OpenCMS developer system from
> OpenCMS
> 10.5
> to 11.0.1. It is actually running on Windows 10, Oracle Java 8
> in a
> Tomcat
> 9.0.30. As database i'm using IBM DB2 v.10.5.0.9 .
> After copying the files from the upgrade package in my
> installation
> directory als described in the readme-file, OpenCMS isn't
> starting
> After a
> few seconds i get the error:
>
>
> SCHWERWIEGEND: Error deploying web application directory
> [D:\apache-tomcat-9.0.30\webapps\web]
> java.lang.IllegalStateException: Error starting child
> at
> org.apache.catalina.core.ContainerBase.addChildInternal
> (ContainerBase.java:720)
> at org.apache.catalina.core.ContainerBase.addChild
> (ContainerBase.java:690)
> at org.apache.catalina.core.StandardHost.addChild
> (StandardHost.java:705)
> at
> org.apache.catalina.startup.HostConfig.deployDirectory
> (HostConfig.java:1133)
> at org.apache.catalina.startup.HostConfig
> $DeployDirectory.run
> (HostConfig.java:1867)
> at java.util.concurrent.Executors$RunnableAdapter.call
> (Executors.java:511)
> at java.util.concurrent.FutureTask.run
> (FutureTask.java:266)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute
> (InlineExecutorService.java:75)
> at java.util.concurrent.AbstractExecutorService.submit
> (AbstractExecutorService.java:112)
> at
> org.apache.catalina.startup.HostConfig.deployDirectories
> (HostConfig.java:1045)
> at org.apache.catalina.startup.HostConfig.deployApps
> (HostConfig.java:429)
> at org.apache.catalina.startup.HostConfig.start
> (HostConfig.java:1576)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent
> (HostConfig.java:309)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent
> (LifecycleBase.java:123)
> at
> org.apache.catalina.util.LifecycleBase.setStateInternal
> (LifecycleBase.java:423)
> at org.apache.catalina.util.LifecycleBase.setState
> (LifecycleBase.java:366)
> at org.apache.catalina.core.ContainerBase.startInternal
> (ContainerBase.java:936)
> at org.apache.catalina.core.StandardHost.startInternal
> (StandardHost.java:841)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:183)
> at org.apache.catalina.core.ContainerBase
> $StartChild.call
> (ContainerBase.java:1384)
> at org.apache.catalina.core.ContainerBase
> $StartChild.call
> (ContainerBase.java:1374)
> at java.util.concurrent.FutureTask.run
> (FutureTask.java:266)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute
> (InlineExecutorService.java:75)
> at java.util.concurrent.AbstractExecutorService.submit
> (AbstractExecutorService.java:134)
> at org.apache.catalina.core.ContainerBase.startInternal
> (ContainerBase.java:909)
> at
> org.apache.catalina.core.StandardEngine.startInternal
> (StandardEngine.java:262)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:183)
> at
> org.apache.catalina.core.StandardService.startInternal
> (StandardService.java:421)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:183)
> at
> org.apache.catalina.core.StandardServer.startInternal
> (StandardServer.java:930)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:183)
> at org.apache.catalina.startup.Catalina.start
> (Catalina.java:633)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.catalina.startup.Bootstrap.start
> (Bootstrap.java:343)
> at org.apache.catalina.startup.Bootstrap.main
> (Bootstrap.java:474)
> Caused by: org.apache.catalina.LifecycleException: Failed to
> start
> component [StandardEngine[Catalina].StandardHost
> [localhost].StandardContext
> [/web]]
> at
> org.apache.catalina.util.LifecycleBase.handleSubClassException
> (LifecycleBase.java:440)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:198)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal
> (ContainerBase.java:717)
> ... 37 more
> Caused by: java.lang.NoClassDefFoundError:
> Ljavax/persistence/EntityManagerFactory;
> at java.lang.Class.getDeclaredFields0(Native Method)
> at java.lang.Class.privateGetDeclaredFields
> (Class.java:2583)
> at java.lang.Class.getDeclaredFields(Class.java:1916)
> at
> org.apache.catalina.util.Introspection.getDeclaredFields
> (Introspection.java:110)
> at
>
> org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation
> (WebAnnotationSet.java:269)
> at
>
>
> org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations
>
>
> (WebAnnotationSet.java:89)
> at
>
>
> org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations
>
>
> (WebAnnotationSet.java:67)
> at
>
>
> org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig
>
>
> (ContextConfig.java:330)
> at
> org.apache.catalina.startup.ContextConfig.configureStart
> (ContextConfig.java:777)
> at
> org.apache.catalina.startup.ContextConfig.lifecycleEvent
> (ContextConfig.java:301)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent
> (LifecycleBase.java:123)
> at
> org.apache.catalina.core.StandardContext.startInternal
> (StandardContext.java:5051)
> at org.apache.catalina.util.LifecycleBase.start
> (LifecycleBase.java:183)
> ... 38 more
> Caused by: java.lang.ClassNotFoundException:
> javax.persistence.EntityManagerFactory
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass
> (WebappClassLoaderBase.java:1365)
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass
> (WebappClassLoaderBase.java:1188)
> ... 51 more
>
> Has anyone the same problem or an idea, what could be the
> reason?
>
> Thanks and regards,
> Martin Rosenthal
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list,
> please
> visit
> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list,
> please
> visit
> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>
>
>
>
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please
> visit
> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please
> visit
> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>
>
>
>
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20200717/8ff36370/attachment.htm>
More information about the opencms-dev
mailing list