jetty.project
jetty.project copied to clipboard
Unable to expose Rest api under webapps/web-inf/classes directory for jetty 12.0.12
Jetty version(s)
Jetty Environment
Java version/vendor (use: java -version) openjdk version "17.0.8.1" 2023-08-24
OS type/version : Windows 11
Description
Hi, I was running jetty server with xml configuration version 8.1.16.v20140903, Here I am loading connectors, sslfactory, handlers, deploymentmgr beans through the xml file to start the sever, I have below webserver setup C:\Jetty\etc\Jetty.xml-> all beans C:\Jetty\etc\webdefault.xml-> default web.xml file C:\Jetty\Webapps\api\META-INF\Context.xml->(which has context path etc info.. ) C:\Jetty\Webapps\api\WEB-INF\web.xml(which has servlet init params, mapping etc info) C:\Jetty\Webapps\api\WEB-INF\lib(which has supporting libraries i.e jackson, jersey-common,jettison) C:\Jetty\Webapps\api\WEB-INF\classes(which has api end point class files UtilityEndPoint.class etc.)
deploying endpoint classes in web-inf>class dir, making endpoints are accessible here without adding the classendpoint context info anywhere.
Currently I am upgrading jetty to 12.0.12 , and I want to start the jetty server with same the xml file based approach, I am able to bring the server up, I see the endpoint classes are getting loaded in ResourceConfig, but they are rendering 404 when accessed, If I add custom servletclass(doGet overloaded) in web.xml & then I can get 200OK, but I want to do only with the existing endpoint(worked with 8.1.16 version) so that backward compatibility is remain supported
without disturbing the current api end point classes, how can I add api contexts. and how to initialize "org.eclipse.jetty.ee10.webapp.WebAppContext" since I am facing java.lang.IllegalStateException: No ContextHandler classname for App@7fb95505
Please let me know if I am missing anything here
I am using jetty-ee10-servlet,jetty-ee10-webapp, jakarta 3.x.x, jersey 4.0.0-M1 libs
How to reproduce?
@eharish394 how are you starting the server? Please also paste you stack trace or log files to show us what the actual problem is.
BTW, it may be better to go the embedded code route, rather than cutting and pasting the xml into one great big xml file - it makes upgrading the version of jetty much harder as you can't get any help from IDEs and is by nature error prone.
Not sure what the jarlist_info.txt file is, but if that's all on your classpath at runtime it's wrong - you have duplicate jars of different versions, for example you have all of the following servlet api jars listed:
jakarta.servlet-api-6.0.0.jarjetty-jakarta-servlet-api-5.0.2.jarjetty-servlet-api-4.0.6.jar
But if you're using ee10 you should only have jakarta.servlet-api-6.0.0.jar.
currently whenever I make request , getting 404 not found, and no specific error found in logs, here in the attachment I am starting sever programmatically standalonejetty.zip
if I make custom servlet class (TestServletImpl) enable(line #11) and disable ServletContainer at line#10 in web.xml , then http://localhost:8443/demoEndpoint/api/endpoint1 is success(200OK)
but I wanted to call my default endpoint which is TestEndpoint(works fine in 8.1.16 version),getting 404 error in 12.0.12 (http://localhost:8443/demoEndpoint/test/ping)
note : in 8.1.16 I have only
In Jetty 12.0.12 ...
Use the command line start.jar jetty.server.dumpAfterStart=true and copy/paste the entire startup logs here.
Yes, it can be quite large, but don't worry about it, we can handle it.
If you have to redact anything, just use XXXXX over the things you want to redact, just don't delete any lines.
here I am using endpoint TestEndpointjava.txt
startup log(including dump) : 2024_08_22.jetty.log
additionally we can find dump here :
2024-08-22 10:30:44.008:INFO :oejs.Server:main: Started oejs.Server@6ca8564a{STARTING}[12.0.12,sto=5000] @4128ms
oejs.Server@6ca8564a{STARTING}[12.0.12,sto=5000] - STARTING
+= QueuedThreadPool[qtp1397616978]@534df152{STARTED,10<=18<=200,i=7,r=-1,t=58189ms,q=0}[ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}}] - STARTED
| +- org.eclipse.jetty.util.thread.ThreadPoolBudget@25a65b77
| += ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}} - STARTED
| | +~ QueuedThreadPool[qtp1397616978]@534df152{STARTED,10<=18<=200,i=7,r=-1,t=58189ms,q=0}[ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}}] - STARTED
| | +- ThreadIdPool@57a78e3{capacity=32}
| +> threads size=18
| +> qtp1397616978-26 RUNNABLE tid=26 prio=5 SELECTING
| +> qtp1397616978-27 TIMED_WAITING tid=27 prio=5 IDLE
| +> qtp1397616978-25 RUNNABLE tid=25 prio=5 SELECTING
| +> qtp1397616978-44 TIMED_WAITING tid=44 prio=5 IDLE
| +> qtp1397616978-28 RUNNABLE tid=28 prio=5 SELECTING
| +> qtp1397616978-34 RUNNABLE tid=34 prio=5 SELECTING
| +> qtp1397616978-30 RUNNABLE tid=30 prio=5 SELECTING
| +> qtp1397616978-41 RUNNABLE tid=41 prio=5 SELECTING
| +> qtp1397616978-32 RUNNABLE tid=32 prio=5 SELECTING
| +> qtp1397616978-38 RUNNABLE tid=38 prio=5 SELECTING
| +> qtp1397616978-29 TIMED_WAITING tid=29 prio=5 IDLE
| +> qtp1397616978-31 RUNNABLE tid=31 prio=5 SELECTING
| +> qtp1397616978-37 TIMED_WAITING tid=37 prio=5 IDLE
| +> qtp1397616978-39 TIMED_WAITING tid=39 prio=5 IDLE
| +> qtp1397616978-33 RUNNABLE tid=33 prio=5 SELECTING
| +> qtp1397616978-43-acceptor-0@5d5b5fa7-ServerConnector@11bd0f3b{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} RUNNABLE tid=43 prio=3 ACCEPTING
| +> qtp1397616978-40 TIMED_WAITING tid=40 prio=5 IDLE
| +> qtp1397616978-42 TIMED_WAITING tid=42 prio=5 IDLE
+= oejut.ScheduledExecutorScheduler@163e4e87{STARTED} - STARTED
| +> [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
| +> [email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
| +> [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
| +> [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
| +> [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
| +> [email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
| +> [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
| +> [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
| +> [email protected]/java.lang.Thread.run(Thread.java:833)
+- org.eclipse.jetty.io.ArrayByteBufferPool@50b472aa{min=0,max=65536,buckets=16,heap=0/1062207488,direct=0/1062207488}
| +> direct size=16
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7bc6d27a{capacity=4096,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@75769ab0{capacity=8192,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6869a3b3{capacity=12288,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6ab4ba9f{capacity=16384,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@27ace0b1{capacity=20480,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@664e5dee{capacity=24576,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@431f1eaf{capacity=28672,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@cb03411{capacity=32768,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@4c59e45e{capacity=36864,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@58ec7116{capacity=40960,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@63bde6c2{capacity=45056,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6ea04618{capacity=49152,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6dd82486{capacity=53248,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@56078cea{capacity=57344,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@5a00eb1e{capacity=61440,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@36fcf6c0{capacity=65536,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> indirect size=16
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1aac188d{capacity=4096,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7026b7ee{capacity=8192,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@2d23faef{capacity=12288,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7cb8437d{capacity=16384,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@62a4417{capacity=20480,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@43f61afb{capacity=24576,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@713064e8{capacity=28672,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@4fad6218{capacity=32768,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1bf39d06{capacity=36864,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@68217d41{capacity=40960,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1ac45389{capacity=45056,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@3e5d4f6b{capacity=49152,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@39c1fe0b{capacity=53248,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@5ae95707{capacity=57344,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@62891fc8{capacity=61440,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@367b22e5{capacity=65536,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
+~ org.eclipse.jetty.util.resource.FileSystemPool@41e36e46
+= oejsh.DefaultHandler@409bf450{showContext=true,favIcon=true,STARTED} - STARTED
+= oejd.DeploymentManager@ba2f4ec{STARTED} - STARTED
| += class org.eclipse.jetty.deploy.providers.ContextProvider@209da20d[file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/] - STARTED
| | +- ju.HashMap@0{size=0}
| | += oejur.ResourceFactoryInternals$LifeCycle@54bff557{STARTED} - STARTED
| | | +> newResourceReferences size=0
| | +- org.eclipse.jetty.util.resource.ResourceFactory$2@593aaf41
| | += oeju.Scanner@76494737{STARTED} - STARTED
| | += oejut.ScheduledExecutorScheduler@4a003cbe{STARTED} - STARTED
| += class org.eclipse.jetty.deploy.providers.ContextProvider@53fe15ff[file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/] - STARTED
| +- ju.HashMap@3756766d{size=1}
| | +@ C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint = App@72bc6553[ee10,oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint},C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint]
| += oejur.ResourceFactoryInternals$LifeCycle@449a4f23{STARTED} - STARTED
| | +> newResourceReferences size=0
| +- org.eclipse.jetty.util.resource.ResourceFactory$2@1530c739
| += oeju.Scanner@4d0d9fe7{STARTED} - STARTED
| += oejut.ScheduledExecutorScheduler@c430e6c{STARTED} - STARTED
+= oejur.ResourceFactoryInternals$LifeCycle@8297b3a{STARTED} - STARTED
| +> newResourceReferences size=0
+- org.eclipse.jetty.util.resource.ResourceFactory$2@2362f559
+= HashLoginService@305b7c14[Test Realm] - STARTED
| +- org.eclipse.jetty.security.DefaultIdentityService@6913c1fb
| += PropertyUserStore@7bf3a5d8[users.count=6][cfg=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/etc/jetty-demo-realm.properties] - STARTED
+= oejs.DefaultSessionIdManager@757277dc{STARTED}[worker=node0] - STARTED
| +? oejs.HouseKeeper@ed7f8b4{STARTED}[interval=600000, ownscheduler=false] - STARTED
+= oejrh.RewriteHandler@78ffe6dc{STARTED} - STARTED
| +- RuleContainer@8317c52[terminating=false]
| | +: HeaderPatternRule@229c6181[terminating=true][pattern=/favicon.ico][header:Cache-Control=Max-Age=3600,public]
| | +: RewritePatternRule@732c9b5c[terminating=false][pattern=/ee10-test/rewrite/][rewrite:/ee10-test/rewrite/info.html]
| | +: RewritePatternRule@38320e34[terminating=false][pattern=/ee10-test/some/old/context][rewrite:/ee10-test/rewritten/newcontext]
| | +: RewritePatternRule@3d6a6bee[terminating=false][pattern=/ee10-test/rewrite/for/][rewrite:/ee10-test/rewritten/]
| | +: RewriteRegexRule@36ddaebf[terminating=false][regex:(.?)/reverse/([^/])/(.)][rewrite:$1/reverse/$3/$2]
| | +: CookiePatternRule@213c3543[terminating=false][pattern=/]@213c3543[set-cookie:visited=yes]
| | +: RedirectPatternRule@9d7ccfe[terminating=true][pattern=/ee10-test/redirect/][redirect:302>/ee10-test/redirected]
| | +: ResponsePatternRule@670ce331[terminating=true][pattern=/400Error][response:400>ResponsePatternRuleDemo]
| | +> ju.ArrayList@e708b34d(size=8)
| | +: HeaderPatternRule@229c6181[terminating=true][pattern=/favicon.ico][header:Cache-Control=Max-Age=3600,public]
| | +: RewritePatternRule@732c9b5c[terminating=false][pattern=/ee10-test/rewrite/][rewrite:/ee10-test/rewrite/info.html]
| | +: RewritePatternRule@38320e34[terminating=false][pattern=/ee10-test/some/old/context][rewrite:/ee10-test/rewritten/newcontext]
| | +: RewritePatternRule@3d6a6bee[terminating=false][pattern=/ee10-test/rewrite/for/][rewrite:/ee10-test/rewritten/]
| | +: RewriteRegexRule@36ddaebf[terminating=false][regex:(.?)/reverse/([^/])/(.)][rewrite:$1/reverse/$3/$2]
| | +: CookiePatternRule@213c3543[terminating=false][pattern=/]@213c3543[set-cookie:visited=yes]
| | +: RedirectPatternRule@9d7ccfe[terminating=true][pattern=/ee10-test/redirect/][redirect:302>/ee10-test/redirected]
| | +: ResponsePatternRule@670ce331[terminating=true][pattern=/400Error][response:400>ResponsePatternRuleDemo]
| += oejsh.ContextHandlerCollection@6743e411{STARTED} - STARTED
| += oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint} - STARTED
| +- org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler@1b66c0fb
| +- org.eclipse.jetty.util.DecoratedObjectFactory[decorators=3]
| | +: org.eclipse.jetty.ee10.plus.webapp.PlusDecorator@54e7df6a
| | +: org.eclipse.jetty.util.DeprecationWarning@4c1f22f3
| | +: org.eclipse.jetty.ee10.annotations.AnnotationDecorator@73194df
| += oeje10s.SessionHandler@147e2ae7{STARTED} - STARTED
| | += oeje10ss.ConstraintSecurityHandler@536dbea0{STARTED} - STARTED
| | | +- knownAuthenticatorFactories size=1
| | | | +> org.eclipse.jetty.security.DefaultAuthenticatorFactory@41f4fe5
| | | += oeje10s.ServletHandler@35b74c5c{STARTED} - STARTED
| | | | +> listeners oeje10s.ServletHandler@35b74c5c{STARTED} size=1
| | | | | +> org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@584f54e6{src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml} - STARTED
| | | | +> filters oeje10s.ServletHandler@35b74c5c{STARTED} size=1
| | | | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter==org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@e077866{inst=true,async=true,src=EMBEDDED:
From what I can see, things look normal from the jetty perspective.
I can see that jetty automatically detected the jersey ServletContainerInitializer class org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer:
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: No web.xml ordering, ServletContainerInitializers in random order
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 1 org.eclipse.jetty.ee10.apache.jsp.JettyJasperInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 2 org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 3 org.eclipse.jetty.ee10.websocket.server.config.JettyWebSocketServletContainerInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 4 org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer from file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-4.0.0-M1.jar
Jetty detects that the annotation on the jersey ServletContainerInitializer class wants to look for several jakarta.ws.rs annotations and registers handlers for them:
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: HandlesTypes [interface jakarta.ws.rs.Path, interface jakarta.ws.rs.ext.Provider, class jakarta.ws.rs.core.Application, interface jakarta.ws.rs.ApplicationPath] on initializer class org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.Path
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.ext.Provider
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.ApplicationPath
Jetty scans classes in WEB-INF/classes:
2024-08-22 10:30:42.204:DEBUG:oejea.AnnotationParser:qtp1397616978-28: Parse class from file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestEndpoint.class
2024-08-22 10:30:42.235:DEBUG:oejea.AnnotationParser:qtp1397616978-28: Parse class from file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestServletImpl.class
Jetty detects that the testapis.TestEndpoint has an annotation that the jersey ServletContainerInitializer is interested in:
+= ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]} - STARTED
Jetty runs the jersey ServletContainerInitializer, which loads the TestEndpoint class:
2024-08-22 10:30:42.978:DEBUG:oejuc.AbstractLifeCycle:main: STARTING ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]}
2024-08-22 10:30:42.979:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/wadl/internal/WadlResource.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/wadl/internal/WadlResource.class
2024-08-22 10:30:42.979:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.wadl.internal.WadlResource
2024-08-22 10:30:42.980:DEBUG:oejew.WebAppClassLoader:main: getResource testapis/TestEndpoint.class file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestEndpoint.class
2024-08-22 10:30:42.980:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class testapis.TestEndpoint
2024-08-22 10:30:42.981:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig.class
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: getResource jakarta/ws/rs/core/Configurable.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jakarta.ws.rs-api-4.0.0.jar!/jakarta/ws/rs/core/Configurable.class
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface jakarta.ws.rs.core.Configurable
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ServerConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ServerConfig.class
2024-08-22 10:30:42.983:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/ExtendedConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/ExtendedConfig.class
2024-08-22 10:30:42.983:DEBUG:oejew.WebAppClassLoader:main: getResource jakarta/ws/rs/core/Configuration.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jakarta.ws.rs-api-4.0.0.jar!/jakarta/ws/rs/core/Configuration.class
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface jakarta.ws.rs.core.Configuration
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.ExtendedConfig
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.ServerConfig
2024-08-22 10:30:42.990:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig
2024-08-22 10:30:42.990:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig$WrappingResourceConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig$WrappingResourceConfig.class
2024-08-22 10:30:42.991:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig
2024-08-22 10:30:42.992:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig$RuntimeConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig$RuntimeConfig.class
2024-08-22 10:30:42.993:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig$RuntimeConfig
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/internal/ServletContainerProviderFactory.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/internal/ServletContainerProviderFactory.class
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ServletContainerProviderFactory
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.class
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider
2024-08-22 10:30:42.995:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder.class
2024-08-22 10:30:42.997:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder
2024-08-22 10:30:42.997:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceConfigurationError.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceConfigurationError.class
2024-08-22 10:30:42.998:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceConfigurationError
2024-08-22 10:30:42.998:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper.class
2024-08-22 10:30:43.001:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/TypeVisitor.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/TypeVisitor.class
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.TypeVisitor
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$11.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$11.class
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$11
2024-08-22 10:30:43.005:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$1.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$1.class
2024-08-22 10:30:43.005:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$1
2024-08-22 10:30:43.006:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$2.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$2.class
2024-08-22 10:30:43.007:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$2
2024-08-22 10:30:43.008:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Value.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Value.class
2024-08-22 10:30:43.009:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.Value
2024-08-22 10:30:43.010:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values.class
2024-08-22 10:30:43.010:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/LazyValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/LazyValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.LazyValue
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/LazyUnsafeValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/LazyUnsafeValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/UnsafeValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/UnsafeValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.UnsafeValue
2024-08-22 10:30:43.012:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.LazyUnsafeValue
2024-08-22 10:30:43.012:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$1.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$1.class
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$1
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$2.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$2.class
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$2
2024-08-22 10:30:43.014:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$LazyValueImpl.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$LazyValueImpl.class
2024-08-22 10:30:43.015:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl
2024-08-22 10:30:43.016:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$8.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$8.class
2024-08-22 10:30:43.016:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$8
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$ServiceIteratorProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$ServiceIteratorProvider.class
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$ServiceIteratorProvider
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$DefaultServiceIteratorProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$DefaultServiceIteratorProvider.class
2024-08-22 10:30:43.018:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$DefaultServiceIteratorProvider
2024-08-22 10:30:43.018:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$LazyObjectIterator.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$LazyObjectIterator.class
2024-08-22 10:30:43.019:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$AbstractLazyIterator.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$AbstractLazyIterator.class
2024-08-22 10:30:43.020:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$AbstractLazyIterator
2024-08-22 10:30:43.020:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator
2024-08-22 10:30:43.023:DEBUG:oejew.WebAppClassLoader:main: getResources META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider []
2024-08-22 10:30:43.023:DEBUG:oejew.WebAppClassLoader:main: getResources META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider []
2024-08-22 10:30:43.030:DEBUG:oejew.WebAppClassLoader:main: getResource jdk/proxy4/$Proxy6.class null
2024-08-22 10:30:43.033:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/model/ExtendedResource.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/model/ExtendedResource.class
2024-08-22 10:30:43.033:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.model.ExtendedResource
2024-08-22 10:30:43.034:DEBUG:oejew.WebAppClassLoader:main: getResource jdk/proxy4/$Proxy7.class null
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/ServletContainer.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/ServletContainer.class
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/spi/Container.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/spi/Container.class
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.spi.Container
2024-08-22 10:30:43.036:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.servlet.ServletContainer
2024-08-22 10:30:43.037:DEBUG:oejes.ServletContainerInitializerHolder:main: ServletContainerInitializer org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer called in 43ms
2024-08-22 10:30:43.037:DEBUG:oejuc.AbstractLifeCycle:main: STARTED @3156ms ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]}
2024-08-22 10:30:43.037:DEBUG:oejuc.AbstractLifeCycle:main: STARTED @3156ms oeje10s.ServletContextHandler$ServletContainerInitializerStarter@758705fa{STARTED}
We see the webapp context is started:
2024-08-22 10:30:43.939:INFO :oejes.ServletContextHandler:main: Started oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint}
From the dump:
| += oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint} - STARTED
| | | | +> servlets oeje10s.ServletHandler@35b74c5c{STARTED} size=3
| | | | | +> default==org.eclipse.jetty.ee10.servlet.DefaultServlet@5c13d641{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml,STARTED} - STARTED
| | | | | | +> NotAsync:org.eclipse.jetty.ee10.servlet.DefaultServlet@514cd540
| | | | | | +> initParams size=9
| | | | | | +> dirAllowed=true
| | | | | | +> maxCacheSize=256000000
| | | | | | +> maxCachedFileSize=200000000
| | | | | | +> welcomeServlets=false
| | | | | | +> useFileMappedBuffer=true
| | | | | | +> acceptRanges=true
| | | | | | +> etags=false
| | | | | | +> maxCachedFiles=2048
| | | | | | +> redirectWelcome=false
| | | | | +> jsp==org.eclipse.jetty.ee10.jsp.JettyJspServlet@19c47{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml,STARTED} - STARTED
| | | | | | +> NotAsync:org.eclipse.jetty.ee10.jsp.JettyJspServlet@11d4dbd6
| | | | | | +> initParams size=4
| | | | | | +> compilerSourceVM=1.8
| | | | | | +> compilerTargetVM=1.8
| | | | | | +> scratchdir=C:\Users\XXXXX\AppData\Local\Temp\jetty-0_0_0_0-8080-demoEndpoint-_demoEndpoint-any-18293878976238837160\jsp
| | | | | | +> xpoweredBy=false
| | | | | +> demoEndpointServlet==org.glassfish.jersey.servlet.ServletContainer@3b3ba28d{jsp=null,order=1,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/web.xml,STARTED} - STARTED
| | | | | +> NotAsync:org.glassfish.jersey.servlet.ServletContainer@6f4ade6e
| | | | | +> initParams size=2
| | | | | +> jersey.config.server.provider.classnames=org.glassfish.jersey.jackson.JacksonFeature
| | | | | +> jersey.config.server.provider.packages=testapis
| | | | +> servletMappings oeje10s.ServletHandler@35b74c5c{STARTED} size=2
| | | | | +> [*.jsp, *.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]=>jsp
| | | | | +> [/]=>demoEndpointServlet
At this point I think the problem lies in your jersey setup. . I would try re-reading the jersey manual: https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest31x/deployment.html#deployment.servlet making sure you've followed all the right steps for a servlet api 5.0 and above container (as jetty-12 ee10 is servlet 6.0). Maybe you need some jersey specific jetty jars? You might then have to debug into the running container to see what is happening.
Though the custom testendpoint being loaded by ResourceMethodInvoker,
Getting below endpoints are always empty here, due to that 404 not found error occurs
I am using jetty 12& below jars
please let me know if any configuration/jar missing & pls confirm the jars compatibility with jetty 12
@eharish394 I'm not an expert on jersey, and from the jetty perspective things look fine. I think the time has come to ask the jersey community for help.
BTW, I downloaded the standard jersey helloworld-webapp example, and deployed it to jetty-12.0.12, and configured java-util logging at the highest level for both jetty and jersey. It looks like jetty is correctly handing the request to the registered jersey servlet, which then throws the 404 exception. Here's the relevant parts of the log with stacktrace:
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.servlet.ServletHandler getFilterChain
FINE: oeje10s.ServletHandler@11bd0f3b{STARTED} cached filter chain for REQUEST: ChainEnd@51bdd165(org.glassfish.jersey.examples.helloworld.webapp.MyApplication==org.glassfish.jersey.servlet.ServletContainer@e47734a6{jsp=null,order=1,inst=true,async=true,src=JAKARTA_API:<null>,STARTED})
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet handle
FINE: chain=ChainEnd@51bdd165(org.glassfish.jersey.examples.helloworld.webapp.MyApplication==org.glassfish.jersey.servlet.ServletContainer@e47734a6{jsp=null,order=1,inst=true,async=true,src=JAKARTA_API:<null>,STARTED})
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.uri.JerseyQueryParamStyle
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.uri.internal.UriParser
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.guava.InetAddresses
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.internal.util.ExtendedLogger debugLog
FINEST: [DEBUG] ServletContainer.service(...) started on thread qtp1782704802-35
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.ContainerUtils
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ResponseWriter
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ResponseWriter$NonCloseableOutputStreamWrapper
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.async.AsyncContextDelegateProviderImpl$ExtensionImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.JerseyRequestTimeoutHandler
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$1
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.WebComponent$6
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.ServletPropertiesDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.RuntimeDelegateDecorator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.RuntimeDelegateDecorator$ConfigurableRuntimeDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader getResources
FINE: getResources META-INF/services/org.glassfish.jersey.spi.HeaderDelegateProvider []
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader getResources
FINE: getResources META-INF/services/org.glassfish.jersey.spi.HeaderDelegateProvider []
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.GuardianStringKeyMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.HeaderUtils
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.StringKeyIgnoreCaseMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.StringIgnoreCaseKeyComparator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$Entry
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$EntityContent
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.TracingAwarePropertiesDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.server.internal.routing.RoutingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.UriRoutingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.ImmutableMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.WebComponent$5
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$2
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.ServerTraceEvent
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.monitoring.EmptyRequestEventBuilder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.server.internal.process.RespondingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.RequestProcessingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.DefaultRespondingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.DefaultCloseableService
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs$ThreadSafeRefImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$Responder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.message.internal.OutboundMessageContext$StreamProvider
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.ConnectionCallback
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.CompletionCallback
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$CompletionCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.internal.util.Closure
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$ConnectionCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.inject.hk2.Hk2RequestScope$Instance
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.LazyUid
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$AsyncResponderHolder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$1
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.NotFoundException
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.core.Response$StatusType
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.OutboundJaxrsResponse
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs$DefaultRefImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.process.internal.Stage$Continuation
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.inject.ForeignDescriptorImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ContainerFilteringStage$ResponseFilterStage
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.ContainerResponseContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.monitoring.RequestEvent$Type
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.SingleMatchResult
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.Router$Continuation
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.RoutingStage$RoutingResult
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.process.internal.Inflecting
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.core.Response$Status
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.core.Response$Status$Family
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.OutboundMessageContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.CommittingOutputStream
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorHashMap$EntrySet
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$LinkedHashIterator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$EntryIterator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.monitoring.RequestEvent$ExceptionCause
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
FINER: Starting mapping of the exception.
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:260)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:242)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:704)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:420)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
at org.eclipse.jetty.server.Server.handle(Server.java:181)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:648)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:403)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
at java.base/java.lang.Thread.run(Thread.java:1570)
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$ThrowableWrap
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
FINE: WebApplicationException (WAE) with no entity thrown and no ExceptionMappers have been found for this WAE. Response with status 404 is directly generated from the WAE.
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:260)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:242)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:704)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:420)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
at org.eclipse.jetty.server.Server.handle(Server.java:181)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:648)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:403)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
at java.base/java.lang.Thread.run(Thread.java:1570)
I'm attaching the whole jetty setup including the (modified) helloworld-webapp. Just install jetty-home-12.0.12 alongside it. Then you can run it from jetty-base with java -jar ../jetty-home-12.0.12/start.jar -Djava.util.logging.config.file=./resources/jul.properties -Djersey.config.server.tracing.type=ALL
helloworld-with-jetty.zip
I am able to bring the endpoints by following above steps, but I want to try by not creating any new classes with annotated with jakarta.ws.rs.ApplicationPath; jakarta.ws.rs.core.Application, not overrding getClasses method, And I cannot comment existing servlet mappings in web.xml , can you pls guide me by not doing any of the above two changes, I want to access my apis
web.xml :
jetty.xml.txt jetty.xml file & libs jetty_libs: |asm-9.7.jar| |jakarta.annotation-api-3.0.0.jar| |jakarta.servlet-api-6.0.0.jar| |jakarta.ws.rs-api-4.0.0.jar| |jetty-deploy-12.0.12.jar| |jetty-ee10-annotations-12.0.12.jar| |jetty-ee10-plus-12.0.12.jar| |jetty-ee10-servlet-12.0.12.jar| |jetty-ee10-webapp-12.0.12.jar| |jetty-ee-12.0.12.jar| |jetty-http-12.0.12.jar| |jetty-io-12.0.12.jar| |jetty-jndi-12.0.12.jar| |jetty-plus-12.0.12.jar| |jetty-security-12.0.12.jar|
webapp libs ** |hk2-api-4.0.0-M2.jar| |hk2-locator-4.0.0-M2.jar| |hk2-utils-4.0.0-M2.jar| |jackson-annotations-2.17.0.jar| |jackson-core-2.17.0.jar| |jackson-databind-2.17.0.jar| |jakarta.annotation-api-3.0.0.jar| |jakarta.inject-api-2.0.1.jar| |jakarta.validation-api-3.1.0.jar| |jakarta.ws.rs-api-4.0.0.jar| |jersey-client-4.0.0-M1.jar| |jersey-common-4.0.0-M1.jar| |jersey-container-servlet-4.0.0-M1.jar| |jersey-container-servlet-core-4.0.0-M1.jar| |jersey-hk2-4.0.0-M1.jar| |jersey-server-4.0.0-M1.jar|
@eharish394 honestly I think your question is still better off being asked in the jersey forum. As far as I can tell, you're trying to run an unmodified servlet 3 webapp that used a version of jersey that did not support annotations in a servlet 6 container, with an updated version of jersey that does support annotations. So I think your question is better asked on the jersey lists, as they would know better what the differences in their library is between those versions.
That said, if you're trying to disable jersey from using its ServletContainerInitializer annotation and just go with a hard-coded definition in web.xml, then you can tell jetty to exclude it - see https://jetty.org/docs/jetty/12/operations-guide/annotations/index.html#exclusions
But really, please pose this question to the jersey people.
This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.
Closing as answered.