payara / Payara

Payara Server is an open source middleware platform that supports reliable and secure deployments of Java EE (Jakarta EE) and MicroProfile applications in any environment: on premise, in the cloud or hybrid.
http://www.payara.fish
Other
882 stars 306 forks source link

Bug Report:Payaara server not getting started throwing exceptions #6322

Closed PriteePithadiya closed 1 year ago

PriteePithadiya commented 1 year ago

Brief Summary

While running server. I'm getting the below error.

I'm migrating my project from jdk8 to jdk11, Javaee8 to jakartaee10 and payara 5 to payara6. I am using strutrs2 with tiles, shiro and maven 3.8.1.

SEVERE: Exception during lifecycle processing java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener at com.sun.enterprise.web.WebApplication.start(WebApplication.java:136) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123) at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:292) at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:361) at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:630) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:617) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:556) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:552) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAs(Subject.java:361) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:551) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:582) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:574) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAs(Subject.java:361) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:573) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1497) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1879) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1755) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:604) at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:256) at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:150) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515) at java.base/java.lang.Thread.run(Thread.java:834)

SEVERE: Exception while loading the app SEVERE: Undeployment failed for context SEVERE: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

Expected Outcome

It should be running properly without any error.

Current Outcome

Showing error: SEVERE: Exception while loading the app SEVERE: Undeployment failed for context SEVERE: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

Reproducer

NA

Operating System

Windows 10

JDK Version

jdk11.0.18

Payara Distribution

Payara Server Full Profile

Elifzeynepedman commented 1 year ago

Greetings @PriteePithadiya ,

Please, can you provide a simple to follow scenario how to reproduce this on the latest release of Payara Community Edition? A reproducer should ideally follow the SSCCE rules: http://www.sscce.org/. It will greatly help us to find the cause and fix it.

Thank you, Elif

PriteePithadiya commented 1 year ago

I am migrating existing application from jdk 8 to jdk11, Javaee8 to Jakartaee 10, and Payara 5 to Payara 6.

Steps I followed:

  1. Installed Jdk11.0.18 and maven 3.8.1 in windows 10
  2. Downloaded Payara 6.2023.5(community version-full profile) and configure it
  3. Netbeans 18
  4. Framework Struts2 with Tiles, Shiro, integrate spring
  5. Upgraded Dependencies I am using: Struts2-core-6.1.2.1, Struts2-Json-6.1.2.1, Struts2-tiles-6.1.2.1, Shiro-web-1.11.0, Shiro-core-1.11.0, Shiro-ehcache-1.11.0, Spring-aop-5.3.27, spring-expression-5.3.27, spring-context-5.3.27, spring-beans-5.3.27, gson-2.10.1, commons-net-3.9.0, myBatis-3.5.13, quartz-2.3.2, quartz-jobs, logback-classic-1.4.8, ehcache-core-3.10.8, eclipse.birt.runtime-4.3.0 and two custom libraries.
  6. Plugins: maven-compiler-plugin-3.8.1, maven-war-plugin-3.3.2, maven-dependency-plugin-3.6.0
  7. I upgraded Struts.xml, Persistence.xml and web.xml "xsd" which is compatible with jakartaee10
lprimak commented 1 year ago

mvn dependency:tree is your friend here. There is some dependency in your app that brings in 'old' javax-packaged Jakarta EE modules (prior to 9) Are you sure Struts supports Jakarta EE 9+ with jakarta. package? That would be the prime candidate.

Also, Spring 5 is not compatible with Jakarta EE 9 or 10, you need Spring 6 I believe

PriteePithadiya commented 1 year ago

I don't have idea about struts2 whether it supports jakartaee10 or not.

and for spring 5 you are right it's not supoorting jakartaee10.

but If I upgrade it to spring 6 then I think it's supports only jdk17 not 11.

Can you please guide me on that?

Is spring 6 compatible with jdk11?

lprimak commented 1 year ago

Payara is compatible with JDK 17, so you can use that. I use JDK 20 with Payara and it works great. Bigger problem is that you are using Spring. You should use Jakarta EE 10 with Payara, not Spring. Also, if Struts isn't compatible with EE 10 or 9 (jakarta package) it can't be used with Payara 6

PriteePithadiya commented 1 year ago

Thanks

Elifzeynepedman commented 1 year ago

Hi @PriteePithadiya ,

Unfortunately, Payara Platform Community does not benefit from support for deployment issues encountered on Spring Framework/Spring Boot issues. Please consider acquiring a Payara Enterprise subscription to receive proper support.

Thank you, Elif

PriteePithadiya commented 1 year ago

Hi ,

Thanks for sharing information regarding spring framework. But for my project I am using struts2 framework.

May I know payara6 platform community support struts2 framework?

Thanks, Pritee

On Wed, Jul 5, 2023 at 4:45 AM Elifzeynepedman @.***> wrote:

Hi @PriteePithadiya https://github.com/PriteePithadiya ,

Unfortunately, Payara Platform Community does not benefit from support for deployment issues encountered on Spring Framework/Spring Boot issues. Please consider acquiring a Payara Enterprise subscription to receive proper support.

Thank you, Elif

— Reply to this email directly, view it on GitHub https://github.com/payara/Payara/issues/6322#issuecomment-1621411057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZB7FTLTKUF4PU5NVTFSLKDXOUZS7ANCNFSM6AAAAAAZUOCMBU . You are receiving this because you were mentioned.Message ID: @.***>

Elifzeynepedman commented 1 year ago

Hi @PriteePithadiya,

Unfortunately, Payara Platform Community does not benefit from support for struts2 framework.

Best Regards, Elif

PriteePithadiya commented 1 year ago

Thanks for the feedback!

On Fri, Jul 14, 2023 at 5:31 AM Elifzeynepedman @.***> wrote:

Hi @PriteePithadiya https://github.com/PriteePithadiya,

Unfortunately, Payara Platform Community does not benefit from support for struts2 framework.

Best Regards, Elif

— Reply to this email directly, view it on GitHub https://github.com/payara/Payara/issues/6322#issuecomment-1635659684, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZB7FTMKNTPQZCDBUOE3RXTXQENYDANCNFSM6AAAAAAZUOCMBU . You are receiving this because you were mentioned.Message ID: @.***>