-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to expose Rest api under webapps/web-inf/classes directory for jetty 12.0.12 #12180
Comments
@eharish394 how are you starting the server? 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.
But if you're using |
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 if I make custom servlet class (TestServletImpl) enable(line #11) and disable ServletContainer at line#10 in web.xml , then 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 org.glassfish.jersey.servlet.ServletContainer present in web.xml, which automatically detected my api endpoints, but not working for 12.0.12. |
In Jetty 12.0.12 ... Use the command line |
here I am using endpoint startup log(including dump) : 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 |
From what I can see, things look normal from the jetty perspective. I can see that jetty automatically detected the jersey
Jetty detects that the annotation on the Jetty scans classes in
Jetty detects that the
Jetty runs the
We see the webapp context is started:
From the dump:
At this point I think the problem lies in your |
@eharish394 I'm not an expert on BTW, I downloaded the standard jersey
I'm attaching the whole jetty setup including the (modified) |
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 jetty.xml.txt webapp libs |
@eharish394 honestly I think your question is still better off being asked in the That said, if you're trying to disable But really, please pose this question to the |
jetty_files.zip
Jetty version(s)
Jetty Environment
Java version/vendor
(use: java -version)
openjdk version "17.0.8.1" 2023-08-24OS 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?
The text was updated successfully, but these errors were encountered: