jetty.project
jetty.project copied to clipboard
Getting exception of failed to startup context and then classnotfound exception for class org/eclipse/jetty/ee9/security/DefaultAuthenticatorFactory
Jetty version(s)
12.0.17 Jetty Environment
ee9
Java version/vendor (use: java -version)
20.0.2 (Oracle)
OS type/version
Windows/Linux
Description
we are migrating from jetty 9.4 to jetty 12. Where I have below configuration in my jetty-web.xml. The applicationAuthenticatorFactory class is child class of the DefaultAuthenticatorFactory of ee9.
All the respective dependancies are added into the application still server startup is failing with exception ClassNotFound exception.
`
<Get name="securityHandler">
<Set name="authenticatorFactory">
<New class="com.project.module.jetty.applicationAuthenticatorFactory">
<Set name="loginPage">/login</Set>
<Set name="defaultApp">/defaultApp</Set>
<!-- comma delimited set of paths that are root pages other than index.html -->
<Set name="rootPages">defaultApp.html</Set>
<!-- comma delimited set of paths that will not get redirected to login page
but instead return HTTP 401 -->
<Set name="ExcludeRedirect">/rest</Set>
<!-- typically once the browser has authenticated, the auth string isn't required for future calls
set this to have paths always authenticated on each call. comman delimited set of paths
-->
<Set name="AuthAlways">/rest</Set>
</New>
</Set>
</Get>
Exception: 2025-05-27 09:03:24.642:WARN :oejew.WebAppContext:main: Failed startup of context oeje9w.WebAppContext@523ade68{moduleName,/moduleName,file:///C:/Users/KPatil/eclipse-workspace_Jetty_Upgrade/org/Siteorg/project-base/webapps/moduleName/,false}{C:\Users\KPatil\eclipse-workspace_Jetty_Upgrade\org\Siteorg\project-base\webapps\moduleName} java.lang.NoClassDefFoundError: org/eclipse/jetty/ee9/security/DefaultAuthenticatorFactory at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.jetty.ee9.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:474) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:58) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:1037) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1568) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1469) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:618) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:527) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.get(XmlConfiguration.java:918) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:536) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:449) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:372) at org.eclipse.jetty.ee9.webapp.JettyWebXmlConfiguration.lambda$configure$0(JettyWebXmlConfiguration.java:76) at org.eclipse.jetty.ee9.webapp.WebAppClassLoader.runWithServerClassAccess(WebAppClassLoader.java:135) at org.eclipse.jetty.ee9.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:74) at org.eclipse.jetty.ee9.webapp.Configurations.configure(Configurations.java:514) at org.eclipse.jetty.ee9.webapp.WebAppContext.configure(WebAppContext.java:509) at org.eclipse.jetty.ee9.webapp.WebAppContext.startContext(WebAppContext.java:1317) at org.eclipse.jetty.ee9.nested.ContextHandler.doStartInContext(ContextHandler.java:698) at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1450) at org.eclipse.jetty.ee9.nested.ContextHandler.doStart(ContextHandler.java:682) at org.eclipse.jetty.ee9.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278) at org.eclipse.jetty.ee9.webapp.WebAppContext.doStart(WebAppContext.java:529) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113) at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$0(ContextHandler.java:757) at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1456) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:757) at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2750) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:40) at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183) at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:522) at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:162) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.pathAdded(ScanningAppProvider.java:293) at org.eclipse.jetty.deploy.providers.ContextProvider.pathAdded(ContextProvider.java:635) at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.pathAdded(ScanningAppProvider.java:69) at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:902) at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:868) at org.eclipse.jetty.util.Scanner.scan(Scanner.java:775) at org.eclipse.jetty.util.Scanner.startScanning(Scanner.java:664) at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:636) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:264) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:592) at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:263) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:641) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) at org.eclipse.jetty.server.Server.doStart(Server.java:582) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:2037) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.eclipse.jetty.start.Main.invokeMain(Main.java:312) at org.eclipse.jetty.start.Main.start(Main.java:610) at org.eclipse.jetty.start.Main.main(Main.java:82) Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.ee9.security.DefaultAuthenticatorFactory at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.jetty.ee9.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:474) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:58) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:1037) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1568) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1469) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:618) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:527) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.get(XmlConfiguration.java:918) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:536) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:449) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:372) at org.eclipse.jetty.ee9.webapp.JettyWebXmlConfiguration.lambda$configure$0(JettyWebXmlConfiguration.java:76) at org.eclipse.jetty.ee9.webapp.WebAppClassLoader.runWithServerClassAccess(WebAppClassLoader.java:135) at org.eclipse.jetty.ee9.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:74) at org.eclipse.jetty.ee9.webapp.Configurations.configure(Configurations.java:514) at org.eclipse.jetty.ee9.webapp.WebAppContext.configure(WebAppContext.java:509) at org.eclipse.jetty.ee9.webapp.WebAppContext.startContext(WebAppContext.java:1317) at org.eclipse.jetty.ee9.nested.ContextHandler.doStartInContext(ContextHandler.java:698) at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1450) at org.eclipse.jetty.ee9.nested.ContextHandler.doStart(ContextHandler.java:682) at org.eclipse.jetty.ee9.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278) at org.eclipse.jetty.ee9.webapp.WebAppContext.doStart(WebAppContext.java:529) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113) at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$0(ContextHandler.java:757) at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1456) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:757) at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2750) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:40) at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183) at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:522) at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:162) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.pathAdded(ScanningAppProvider.java:293) at org.eclipse.jetty.deploy.providers.ContextProvider.pathAdded(ContextProvider.java:635) at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.pathAdded(ScanningAppProvider.java:69) at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:902) at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:868) at org.eclipse.jetty.util.Scanner.scan(Scanner.java:775) at org.eclipse.jetty.util.Scanner.startScanning(Scanner.java:664) at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:636) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:264) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:592) at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:263) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:641) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) at org.eclipse.jetty.server.Server.doStart(Server.java:582) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:2037) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.eclipse.jetty.start.Main.invokeMain(Main.java:312) at org.eclipse.jetty.start.Main.start(Main.java:610) at org.eclipse.jetty.start.Main.main(Main.java:82)
Requesting assistance in resolution of the same.