diff --git a/connectors/apache-connector/src/main/java/module-info.java b/connectors/apache-connector/src/main/java/module-info.java
index 28cfa01..6a03fd1 100644
--- a/connectors/apache-connector/src/main/java/module-info.java
+++ b/connectors/apache-connector/src/main/java/module-info.java
@@ -19,8 +19,8 @@
 
     requires jakarta.ws.rs;
 
-    requires transitive org.apache.httpcomponents.httpcore;
-    requires transitive org.apache.httpcomponents.httpclient;
+    requires org.apache.httpcomponents.httpcore;
+    requires org.apache.httpcomponents.httpclient;
 
     requires org.glassfish.jersey.core.common;
     requires org.glassfish.jersey.core.client;
diff --git a/connectors/jdk-connector/src/main/java/module-info.java b/connectors/jdk-connector/src/main/java/module-info.java
index 23edf00..2ac98aa 100644
--- a/connectors/jdk-connector/src/main/java/module-info.java
+++ b/connectors/jdk-connector/src/main/java/module-info.java
@@ -20,6 +20,8 @@
     requires jakarta.ws.rs;
     requires static jakarta.activation;
 
+    requires osgi.resource.locator;
+
     requires org.glassfish.jersey.core.common;
     requires org.glassfish.jersey.core.client;
 
diff --git a/connectors/jetty-connector/src/main/java/module-info.java b/connectors/jetty-connector/src/main/java/module-info.java
index d0396e5..1c9c76f 100644
--- a/connectors/jetty-connector/src/main/java/module-info.java
+++ b/connectors/jetty-connector/src/main/java/module-info.java
@@ -19,10 +19,10 @@
 
     requires jakarta.ws.rs;
 
-    requires transitive org.eclipse.jetty.client;
-    requires transitive org.eclipse.jetty.http;
-    requires transitive org.eclipse.jetty.io;
-    requires transitive org.eclipse.jetty.util;
+    requires org.eclipse.jetty.client;
+    requires org.eclipse.jetty.http;
+    requires org.eclipse.jetty.io;
+    requires org.eclipse.jetty.util;
 
     requires org.glassfish.jersey.core.common;
     requires org.glassfish.jersey.core.client;
diff --git a/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java b/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java
index bdfd515..78ea32b 100644
--- a/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java
+++ b/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java
@@ -32,6 +32,7 @@
     requires org.glassfish.hk2.api;
 
     requires org.glassfish.jersey.core.common;
+    requires org.glassfish.jersey.core.server;
     requires org.glassfish.jersey.core.client;
     requires org.glassfish.jersey.ext.cdi1x;
     requires org.glassfish.jersey.inject.hk2;
diff --git a/containers/grizzly2-http/src/main/java/module-info.java b/containers/grizzly2-http/src/main/java/module-info.java
index f134f4e..a8b0f4d 100644
--- a/containers/grizzly2-http/src/main/java/module-info.java
+++ b/containers/grizzly2-http/src/main/java/module-info.java
@@ -15,11 +15,11 @@
  */
 
 module org.glassfish.jersey.container.grizzly2.http {
-    requires transitive java.logging;
-    requires transitive java.net.http;
+    requires java.logging;
+    requires java.net.http;
 
-    requires transitive jakarta.ws.rs;
-    requires transitive jakarta.inject;
+    requires jakarta.ws.rs;
+    requires jakarta.inject;
     requires static jakarta.xml.bind;
 
     requires grizzly.framework;
diff --git a/containers/grizzly2-http/src/test/java/module-info.java b/containers/grizzly2-http/src/test/java/module-info.java
index d6b5721..fbad5af 100644
--- a/containers/grizzly2-http/src/test/java/module-info.java
+++ b/containers/grizzly2-http/src/test/java/module-info.java
@@ -19,6 +19,9 @@
     requires java.net.http;
     requires java.logging;
 
+    requires jakarta.inject;
+    requires jakarta.ws.rs;
+
     requires org.eclipse.jetty.http2.client;
     requires org.eclipse.jetty.http2.http.client.transport;
 
diff --git a/containers/grizzly2-servlet/src/main/java/module-info.java b/containers/grizzly2-servlet/src/main/java/module-info.java
index 005b3eb..8a426c8 100644
--- a/containers/grizzly2-servlet/src/main/java/module-info.java
+++ b/containers/grizzly2-servlet/src/main/java/module-info.java
@@ -16,7 +16,7 @@
 
 module org.glassfish.jersey.container.grizzly2.servlet {
     requires jakarta.ws.rs;
-    requires transitive jakarta.servlet;
+    requires jakarta.servlet;
 
     requires grizzly.http.servlet;
     requires grizzly.http.server;
diff --git a/containers/jersey-servlet-core/pom.xml b/containers/jersey-servlet-core/pom.xml
index 4725255..5b356c2 100644
--- a/containers/jersey-servlet-core/pom.xml
+++ b/containers/jersey-servlet-core/pom.xml
@@ -82,5 +82,11 @@
              </plugin>
          </plugins>
     </build>
+    <properties>
+        <surefire.coverage.argline>
+            --add-reads org.glassfish.jersey.container.servlet.core=ALL-UNNAMED
+            --add-modules=ALL-MODULE-PATH
+        </surefire.coverage.argline>
+    </properties>
 
 </project>
diff --git a/containers/jersey-servlet-core/src/main/java/module-info.java b/containers/jersey-servlet-core/src/main/java/module-info.java
index 8c3cd04..3676462 100644
--- a/containers/jersey-servlet-core/src/main/java/module-info.java
+++ b/containers/jersey-servlet-core/src/main/java/module-info.java
@@ -14,14 +14,6 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import org.glassfish.jersey.servlet.internal.spi.ExtendedServletContainerProvider;
-import org.glassfish.jersey.servlet.internal.spi.RequestContextProvider;
-import org.glassfish.jersey.servlet.internal.spi.RequestScopedInitializerProvider;
-import org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider;
-import org.glassfish.jersey.servlet.spi.AsyncContextDelegate;
-import org.glassfish.jersey.servlet.spi.AsyncContextDelegateProvider;
-import org.glassfish.jersey.servlet.spi.FilterUrlMappingsProvider;
-
 module org.glassfish.jersey.container.servlet.core {
     requires java.logging;
     requires java.naming;
@@ -29,7 +21,9 @@
     requires jakarta.ws.rs;
     requires jakarta.inject;
     requires jakarta.persistence;
-    requires static jakarta.servlet;
+    requires jakarta.servlet;
+
+    requires osgi.resource.locator;
 
     requires org.glassfish.jersey.core.common;
     requires org.glassfish.jersey.core.server;
@@ -41,12 +35,12 @@
 
     opens org.glassfish.jersey.servlet;
 
-    uses AsyncContextDelegate;
-    uses AsyncContextDelegateProvider;
-    uses FilterUrlMappingsProvider;
+    uses org.glassfish.jersey.servlet.spi.AsyncContextDelegate;
+    uses org.glassfish.jersey.servlet.spi.AsyncContextDelegateProvider;
+    uses org.glassfish.jersey.servlet.spi.FilterUrlMappingsProvider;
 
-    uses ExtendedServletContainerProvider;
-    uses RequestContextProvider;
-    uses RequestScopedInitializerProvider;
-    uses ServletContainerProvider;
+    uses org.glassfish.jersey.servlet.internal.spi.ExtendedServletContainerProvider;
+    uses org.glassfish.jersey.servlet.internal.spi.RequestContextProvider;
+    uses org.glassfish.jersey.servlet.internal.spi.RequestScopedInitializerProvider;
+    uses org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider;
 }
\ No newline at end of file
diff --git a/core-client/src/main/java/module-info.java b/core-client/src/main/java/module-info.java
index f113f78..a80a87e 100644
--- a/core-client/src/main/java/module-info.java
+++ b/core-client/src/main/java/module-info.java
@@ -14,16 +14,11 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import org.glassfish.jersey.client.spi.AsyncConnectorCallback;
-import org.glassfish.jersey.client.spi.ConnectorProvider;
-import org.glassfish.jersey.client.spi.DefaultSslContextProvider;
-import org.glassfish.jersey.client.spi.InvocationBuilderListener;
-import org.glassfish.jersey.client.spi.PostInvocationInterceptor;
-import org.glassfish.jersey.client.spi.PreInvocationInterceptor;
-
 module org.glassfish.jersey.core.client {
     requires jakarta.annotation;
     requires jakarta.inject;
+    requires jakarta.ws.rs;
+
     requires java.logging;
 
     requires org.glassfish.jersey.core.common;
@@ -44,12 +39,12 @@
     opens org.glassfish.jersey.client.internal;
     opens org.glassfish.jersey.client.internal.jdkconnector;
 
-    uses AsyncConnectorCallback;
-    uses ConnectorProvider;
-    uses DefaultSslContextProvider;
-    uses InvocationBuilderListener;
-    uses PostInvocationInterceptor;
-    uses PreInvocationInterceptor;
+    uses org.glassfish.jersey.client.spi.AsyncConnectorCallback;
+    uses org.glassfish.jersey.client.spi.ConnectorProvider;
+    uses org.glassfish.jersey.client.spi.DefaultSslContextProvider;
+    uses org.glassfish.jersey.client.spi.InvocationBuilderListener;
+    uses org.glassfish.jersey.client.spi.PostInvocationInterceptor;
+    uses org.glassfish.jersey.client.spi.PreInvocationInterceptor;
 
     provides jakarta.ws.rs.client.ClientBuilder
             with org.glassfish.jersey.client.JerseyClientBuilder;
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 4c53a67..2c0bc06 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -303,6 +303,10 @@
         <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
         <java9.build.outputDirectory>${project.build.directory}/classes-java9</java9.build.outputDirectory>
         <java9.sourceDirectory>${project.basedir}/src/main/java9</java9.sourceDirectory>
+        <surefire.coverage.argline>
+            --add-reads org.glassfish.jersey.core.common=ALL-UNNAMED
+            --add-modules=ALL-MODULE-PATH
+        </surefire.coverage.argline>
     </properties>
 
 </project>
diff --git a/core-common/src/main/java/module-info.java b/core-common/src/main/java/module-info.java
index ad2bfef..0e58fb0 100644
--- a/core-common/src/main/java/module-info.java
+++ b/core-common/src/main/java/module-info.java
@@ -15,8 +15,8 @@
  */
 
 module org.glassfish.jersey.core.common {
-    requires transitive jakarta.ws.rs;
-    requires transitive jakarta.inject;
+    requires jakarta.ws.rs;
+    requires jakarta.inject;
     requires static jakarta.xml.bind;
     requires static jakarta.activation;
     requires jakarta.annotation;
@@ -25,7 +25,7 @@
 
     // Filename-based auto-modules
     requires static org.osgi.core;
-    requires osgi.resource.locator;
+    requires static osgi.resource.locator;
 
     // Exports rather all, which corresponds to previous state without module-info
     exports org.glassfish.jersey;
diff --git a/core-server/src/main/java/module-info.java b/core-server/src/main/java/module-info.java
index 089ae7f..0f9ce53 100644
--- a/core-server/src/main/java/module-info.java
+++ b/core-server/src/main/java/module-info.java
@@ -15,7 +15,7 @@
  */
 
 module org.glassfish.jersey.core.server {
-    requires transitive jakarta.ws.rs;
+    requires jakarta.ws.rs;
     requires static jakarta.xml.bind;
     requires java.logging;
     requires jakarta.annotation;
diff --git a/ext/bean-validation/src/main/java/module-info.java b/ext/bean-validation/src/main/java/module-info.java
index 4e5f923..85c012c 100644
--- a/ext/bean-validation/src/main/java/module-info.java
+++ b/ext/bean-validation/src/main/java/module-info.java
@@ -19,6 +19,7 @@
     requires java.logging;
 
     requires jakarta.annotation;
+    requires jakarta.inject;
     requires jakarta.validation;
     requires jakarta.ws.rs;
     requires static jakarta.xml.bind;
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/module-info.java b/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
index 1eed93f..1716abd 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
@@ -14,34 +14,30 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import org.glassfish.jersey.ext.cdi1x.internal.spi.BeanManagerProvider;
-import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerInjectedTarget;
-import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
-import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionTargetListener;
-import org.glassfish.jersey.ext.cdi1x.spi.Hk2CustomBoundTypesProvider;
-
 module org.glassfish.jersey.ext.cdi1x {
 
     requires java.naming;
     requires java.logging;
 
     requires jakarta.cdi;
+    requires jakarta.inject;
     requires jakarta.annotation;
+    requires jakarta.ws.rs;
 
     requires org.glassfish.hk2.api;
 
-    requires transitive org.glassfish.jersey.core.server;
-    requires transitive org.glassfish.jersey.core.common;
-    requires transitive org.glassfish.jersey.inject.hk2;
+    requires org.glassfish.jersey.core.server;
+    requires org.glassfish.jersey.core.common;
+    requires org.glassfish.jersey.inject.hk2;
 
     exports org.glassfish.jersey.ext.cdi1x.internal;
     exports org.glassfish.jersey.ext.cdi1x.internal.spi;
     exports org.glassfish.jersey.ext.cdi1x.spi;
     opens org.glassfish.jersey.ext.cdi1x.internal;
 
-    uses Hk2CustomBoundTypesProvider;
-    uses BeanManagerProvider;
-    uses InjectionManagerInjectedTarget;
-    uses InjectionManagerStore;
-    uses InjectionTargetListener;
+    uses org.glassfish.jersey.ext.cdi1x.spi.Hk2CustomBoundTypesProvider;
+    uses org.glassfish.jersey.ext.cdi1x.internal.spi.BeanManagerProvider;
+    uses org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerInjectedTarget;
+    uses org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
+    uses org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionTargetListener;
 }
\ No newline at end of file
diff --git a/ext/entity-filtering/src/main/java/module-info.java b/ext/entity-filtering/src/main/java/module-info.java
index 18a9326..1e20ed2 100644
--- a/ext/entity-filtering/src/main/java/module-info.java
+++ b/ext/entity-filtering/src/main/java/module-info.java
@@ -14,19 +14,6 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
-import org.glassfish.jersey.message.filtering.spi.AbstractObjectProvider;
-import org.glassfish.jersey.message.filtering.spi.EntityGraph;
-import org.glassfish.jersey.message.filtering.spi.EntityGraphProvider;
-import org.glassfish.jersey.message.filtering.spi.EntityInspector;
-import org.glassfish.jersey.message.filtering.spi.EntityProcessor;
-import org.glassfish.jersey.message.filtering.spi.EntityProcessorContext;
-import org.glassfish.jersey.message.filtering.spi.ObjectGraph;
-import org.glassfish.jersey.message.filtering.spi.ObjectGraphTransformer;
-import org.glassfish.jersey.message.filtering.spi.ObjectProvider;
-import org.glassfish.jersey.message.filtering.spi.ScopeProvider;
-import org.glassfish.jersey.message.filtering.spi.ScopeResolver;
-
 module org.glassfish.jersey.ext.entity.filtering {
     requires java.logging;
 
@@ -41,17 +28,17 @@
     exports org.glassfish.jersey.message.filtering;
     exports org.glassfish.jersey.message.filtering.spi;
 
-    uses AbstractEntityProcessor;
-    uses AbstractObjectProvider;
-    uses EntityGraph;
-    uses EntityGraphProvider;
-    uses EntityInspector;
-    uses EntityProcessor;
-    uses EntityProcessorContext;
-    uses ObjectGraph;
-    uses ObjectGraphTransformer;
-    uses ObjectProvider;
-    uses ScopeProvider;
-    uses ScopeResolver;
+    uses org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
+    uses org.glassfish.jersey.message.filtering.spi.AbstractObjectProvider;
+    uses org.glassfish.jersey.message.filtering.spi.EntityGraph;
+    uses org.glassfish.jersey.message.filtering.spi.EntityGraphProvider;
+    uses org.glassfish.jersey.message.filtering.spi.EntityInspector;
+    uses org.glassfish.jersey.message.filtering.spi.EntityProcessor;
+    uses org.glassfish.jersey.message.filtering.spi.EntityProcessorContext;
+    uses org.glassfish.jersey.message.filtering.spi.ObjectGraph;
+    uses org.glassfish.jersey.message.filtering.spi.ObjectGraphTransformer;
+    uses org.glassfish.jersey.message.filtering.spi.ObjectProvider;
+    uses org.glassfish.jersey.message.filtering.spi.ScopeProvider;
+    uses org.glassfish.jersey.message.filtering.spi.ScopeResolver;
 
 }
\ No newline at end of file
diff --git a/ext/mvc/src/main/java/module-info.java b/ext/mvc/src/main/java/module-info.java
index 1a54a21..f3c28b6 100644
--- a/ext/mvc/src/main/java/module-info.java
+++ b/ext/mvc/src/main/java/module-info.java
@@ -14,26 +14,22 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import org.glassfish.jersey.server.mvc.spi.AbstractTemplateProcessor;
-import org.glassfish.jersey.server.mvc.spi.TemplateProcessor;
-import org.glassfish.jersey.server.mvc.spi.ViewableContext;
-
 module org.glassfish.jersey.ext.mvc {
     requires java.logging;
 
-    requires transitive jakarta.annotation;
-    requires transitive jakarta.inject;
-    requires transitive jakarta.servlet;
-    requires transitive jakarta.ws.rs;
+    requires jakarta.annotation;
+    requires jakarta.inject;
+    requires jakarta.servlet;
+    requires jakarta.ws.rs;
 
-    requires transitive org.glassfish.jersey.core.server;
-    requires transitive org.glassfish.jersey.core.common;
+    requires org.glassfish.jersey.core.server;
+    requires org.glassfish.jersey.core.common;
 
     exports org.glassfish.jersey.server.mvc;
     exports org.glassfish.jersey.server.mvc.internal;
     exports org.glassfish.jersey.server.mvc.spi;
 
-    uses TemplateProcessor;
-    uses ViewableContext;
-    uses AbstractTemplateProcessor;
+    uses org.glassfish.jersey.server.mvc.spi.TemplateProcessor;
+    uses org.glassfish.jersey.server.mvc.spi.ViewableContext;
+    uses org.glassfish.jersey.server.mvc.spi.AbstractTemplateProcessor;
 }
\ No newline at end of file
diff --git a/inject/hk2/src/main/java/module-info.java b/inject/hk2/src/main/java/module-info.java
index ee8cdcb..a177113 100644
--- a/inject/hk2/src/main/java/module-info.java
+++ b/inject/hk2/src/main/java/module-info.java
@@ -21,6 +21,8 @@
 
     requires jakarta.annotation;
     requires jakarta.inject;
+    requires jakarta.ws.rs;
+
     requires java.logging;
 
    //HK2 is not yet modularized
diff --git a/media/jaxb/src/main/java/module-info.java b/media/jaxb/src/main/java/module-info.java
index 079972e..a1fd383 100644
--- a/media/jaxb/src/main/java/module-info.java
+++ b/media/jaxb/src/main/java/module-info.java
@@ -16,8 +16,11 @@
 
 module org.glassfish.jersey.media.jaxb {
     requires java.logging;
+
+    requires jakarta.inject;
     requires jakarta.ws.rs;
     requires jakarta.xml.bind;
+
     requires org.glassfish.jersey.core.common;
 
     opens org.glassfish.jersey.jaxb.internal;
diff --git a/media/json-binding/pom.xml b/media/json-binding/pom.xml
index 80bf389..a54232e 100644
--- a/media/json-binding/pom.xml
+++ b/media/json-binding/pom.xml
@@ -103,4 +103,8 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <properties>
+        <surefire.coverage.argline>--add-modules=ALL-MODULE-PATH</surefire.coverage.argline>
+    </properties>
 </project>
diff --git a/media/json-binding/src/main/java/module-info.java b/media/json-binding/src/main/java/module-info.java
index c754b27..986c835 100644
--- a/media/json-binding/src/main/java/module-info.java
+++ b/media/json-binding/src/main/java/module-info.java
@@ -19,6 +19,8 @@
     requires jakarta.ws.rs;
     requires jakarta.json.bind;
 
+    requires osgi.resource.locator;
+
     requires org.glassfish.jersey.core.common;
 
     exports org.glassfish.jersey.jsonb;
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/module-info.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/module-info.java
index c37c0f6..dfc6686 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/module-info.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/module-info.java
@@ -22,6 +22,7 @@
 
     requires org.glassfish.jersey.core.common;
     requires org.glassfish.jersey.core.server;
+    requires org.glassfish.jersey.inject.hk2;
     requires org.glassfish.jersey.ext.cdi1x;
 
     opens org.glassfish.jersey.tests.cdi.manuallybound;
