jetty.project icon indicating copy to clipboard operation
jetty.project copied to clipboard

Getting exception of failed to startup context and then classnotfound exception for class org/eclipse/jetty/ee9/security/DefaultAuthenticatorFactory

Open kishor1985 opened this issue 5 months ago • 6 comments
trafficstars

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.

kishor1985 avatar May 27 '25 09:05 kishor1985