Skip to content

Running Jersey in Jetty using JettyHttpContainerFactory does not support anything but root (/*) application path #6026

@roytmana

Description

@roytmana

Using Jetty 12.1, Weld 6 (weld-se), Jersey 3.11 and jersey-cdi2-se for jersey/weld integration so weld-se is started by Jersey and the app (otherwise Jersey beans are not available for injection)

both places where app-path is used in attempt to have jersey handle http://localhost:8080/my-app-path/

as result all calls to jersey are /* not /my-app-path/* and I am forced to annotate all jersey resources as /my-app-path/

final Server server = JettyHttpContainerFactory.createServer(URI.create(http://localhost:8080/my-app-path), new WebApplication(), false);

@jakarta.ws.rs.ApplicationPath("/my-app-path")
@Vetoed
public class WebApplication extends ResourceConfig {

it is not surprising that @jakarta.ws.rs.ApplicationPath("/my-app-path") is ignored since I am forced to explicitly create WebApplication() in JettyHttpContainerFactory.createServer() call above so jersey does not scan and instantiate WebApplication.
I had to @Vetoed the app so CDI won't try to instantiate it second time

According to javadocs fist path element of URI in JettyHttpContainerFactory.createServer() call is supposed to be used but it is not

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions