https://bz.apache.org/bugzilla/show_bug.cgi?id=65362

            Bug ID: 65362
           Summary: Missing uses-Directives in JPMS descriptor of
                    tomcat-embed-websocket.jar
           Product: Tomcat 9
           Version: 9.0.46
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Packaging
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: -----

The module-info.class of tomcat-embed-websocket.jar is missing the following
two uses directives to be able to be used in a project that enables the JPMS.

uses javax.websocket.ContainerProvider;
uses javax.websocket.server.ServerEndpointConfig.Configurator;

The first one is required because
javax.websocket.ContainerProvider#getWebSocketContainer() calls
ServiceLoader.load(ContainerProvider.class).

The second one is required because
javax.websocket.server.ServerEndpointConfig.Configurator#loadDefault() calls
ServiceLoader.load(ServerEndpointConfig.Configurator.class).

Both calls fail with a ServiceConfigurationError if the uses directives are
missing. I managed to fix this issue locally by patching the JAR in such a way,
that both uses directives are included.

This bug is analogous to #64751.

I believe (but did not verify) that the same bug occurs in Tomcat 10 as well.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to