diff --git a/NOTICE.md b/NOTICE.md
index 505bc11..eb090e1 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -47,7 +47,7 @@
 * Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
 * by the @authors tag.
 
-Hibernate Validator CDI, 6.2.4.Final 
+Hibernate Validator CDI, 6.2.5.Final 
 * License: Apache License, 2.0
 * Project: https://beanvalidation.org/
 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
@@ -65,7 +65,7 @@
 * License: Apache License, 2.0
 * Copyright (C) 2009 The JSR-330 Expert Group
 
-Javassist Version 3.29.0-GA
+Javassist Version 3.29.2-GA
 * License: Apache License, 2.0
 * Project: http://www.javassist.org/
 * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
index 81eec18..42ff220 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
@@ -111,8 +111,8 @@
 
     <properties>
         <jersey.version>${project.version}</jersey.version>
-        <jetty.version>9.4.49.v20220914</jetty.version>
+        <jetty.version>9.4.51.v20230217</jetty.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <surefire.mvn.plugin.version>3.0.0-M7</surefire.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
     </properties>
 </project>
diff --git a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
index 0519417..98b0d46 100644
--- a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
@@ -83,8 +83,8 @@
 
     <properties>
         <jersey.version>${project.version}</jersey.version>
-        <junit-jupiter.version>5.9.1</junit-jupiter.version>
+        <junit-jupiter.version>5.9.3</junit-jupiter.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <surefire.mvn.plugin.version>3.0.0-M7</surefire.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
     </properties>
 </project>
diff --git a/examples/NOTICE.md b/examples/NOTICE.md
index d06ee00..5815b89 100644
--- a/examples/NOTICE.md
+++ b/examples/NOTICE.md
@@ -43,7 +43,7 @@
 * Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
 * by the @authors tag.
 
-Hibernate Validator CDI, 6.2.4.Final
+Hibernate Validator CDI, 6.2.5.Final
 * License: Apache License, 2.0
 * Project: https://beanvalidation.org/
 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
@@ -61,7 +61,7 @@
 * License: Apache License, 2.0
 * Copyright (C) 2009 The JSR-330 Expert Group
 
-Javassist Version 3.29.0-GA
+Javassist Version 3.29.2-GA
 * License: Apache License, 2.0
 * Project: http://www.javassist.org/
 * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
diff --git a/examples/extended-wadl-webapp/pom.xml b/examples/extended-wadl-webapp/pom.xml
index a75ead9..26655a6 100644
--- a/examples/extended-wadl-webapp/pom.xml
+++ b/examples/extended-wadl-webapp/pom.xml
@@ -208,6 +208,16 @@
                             <artifactId>xercesImpl</artifactId>
                             <version>${xerces.version}</version>
                         </docletArtifact>
+                        <docletArtifact>
+                            <groupId>xml-apis</groupId>
+                            <artifactId>xml-apis</artifactId>
+                            <version>1.4.01</version>
+                        </docletArtifact>
+                        <docletArtifact>
+                            <groupId>jakarta.xml.bind</groupId>
+                            <artifactId>jakarta.xml.bind-api</artifactId>
+                            <version>${jaxb.api.version}</version>
+                        </docletArtifact>
                     </docletArtifacts>
                     <!-- the following option is required as a work around for
                          version 2.5 of the javadoc plugin which will be used
diff --git a/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown b/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
index 48e7d26..23651fa 100644
--- a/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
+++ b/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
@@ -31,7 +31,7 @@
 
 ## Third-party Content
 
-Hibernate Validator CDI, 6.2.4.Final 
+Hibernate Validator CDI, 6.2.5.Final 
 * License: Apache License, 2.0
 * Project: https://beanvalidation.org/
 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
\ No newline at end of file
diff --git a/incubator/declarative-linking/pom.xml b/incubator/declarative-linking/pom.xml
index 18790f8..0319de1 100644
--- a/incubator/declarative-linking/pom.xml
+++ b/incubator/declarative-linking/pom.xml
@@ -164,7 +164,7 @@
                         <id>attach-sources</id>
                         <phase>package</phase>
                         <goals>
-                            <goal>jar</goal>
+                            <goal>jar-no-fork</goal>
                         </goals>
                     </execution>
                 </executions>
diff --git a/pom.xml b/pom.xml
index d1d4c23..40d527e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2166,79 +2166,79 @@
 
         <!-- Versions of Maven plugins -->
         <antrun.mvn.plugin.version>3.1.0</antrun.mvn.plugin.version>
-        <assembly.mvn.plugin.version>3.4.2</assembly.mvn.plugin.version>
-        <enforcer.mvn.plugin.version>3.1.0</enforcer.mvn.plugin.version>
+        <assembly.mvn.plugin.version>3.6.0</assembly.mvn.plugin.version>
+        <enforcer.mvn.plugin.version>3.3.0</enforcer.mvn.plugin.version>
         <exec.mvn.plugin.version>3.1.0</exec.mvn.plugin.version>
-        <buildhelper.mvn.plugin.version>3.3.0</buildhelper.mvn.plugin.version>
-        <buildnumber.mvn.plugin.version>3.0.0</buildnumber.mvn.plugin.version>
-        <checkstyle.mvn.plugin.version>3.1.2</checkstyle.mvn.plugin.version>
-        <checkstyle.version>10.3.2</checkstyle.version>
+        <buildhelper.mvn.plugin.version>3.4.0</buildhelper.mvn.plugin.version>
+        <buildnumber.mvn.plugin.version>3.2.0</buildnumber.mvn.plugin.version>
+        <checkstyle.mvn.plugin.version>3.3.0</checkstyle.mvn.plugin.version>
+        <checkstyle.version>10.9.3</checkstyle.version>
         <compiler.mvn.plugin.version>3.9.0</compiler.mvn.plugin.version>
-        <dependency.mvn.plugin.version>3.3.0</dependency.mvn.plugin.version>
-        <deploy.mvn.plugin.version>3.0.0-M2</deploy.mvn.plugin.version>
-        <ear.mvn.plugin.version>3.2.0</ear.mvn.plugin.version>
-        <failsafe.mvn.plugin.version>3.0.0-M7</failsafe.mvn.plugin.version>
-        <felix.mvn.plugin.version>5.1.8</felix.mvn.plugin.version>
+        <dependency.mvn.plugin.version>3.6.0</dependency.mvn.plugin.version>
+        <deploy.mvn.plugin.version>3.1.1</deploy.mvn.plugin.version>
+        <ear.mvn.plugin.version>3.3.0</ear.mvn.plugin.version>
+        <failsafe.mvn.plugin.version>3.1.2</failsafe.mvn.plugin.version>
+        <felix.mvn.plugin.version>5.1.9</felix.mvn.plugin.version>
         <findbugs.mvn.plugin.version>3.0.5</findbugs.mvn.plugin.version>
         <gfembedded.mvn.plugin.version>5.1</gfembedded.mvn.plugin.version>
-        <install.mvn.plugin.version>3.0.1</install.mvn.plugin.version>
-        <istack.mvn.plugin.version>4.1.1</istack.mvn.plugin.version>
-        <jar.mvn.plugin.version>3.2.2</jar.mvn.plugin.version>
-        <javadoc.mvn.plugin.version>3.4.0</javadoc.mvn.plugin.version>
-        <jxr.mvn.plugin.version>3.2.0</jxr.mvn.plugin.version>
+        <install.mvn.plugin.version>3.1.1</install.mvn.plugin.version>
+        <istack.mvn.plugin.version>4.2.0</istack.mvn.plugin.version>
+        <jar.mvn.plugin.version>3.3.0</jar.mvn.plugin.version>
+        <javadoc.mvn.plugin.version>3.5.0</javadoc.mvn.plugin.version>
+        <jxr.mvn.plugin.version>3.3.0</jxr.mvn.plugin.version>
         <paxexam.mvn.plugin.version>1.2.4</paxexam.mvn.plugin.version>
         <proguard.mvn.plugin.version>2.6.0</proguard.mvn.plugin.version>
-        <resources.mvn.plugin.version>3.3.0</resources.mvn.plugin.version>
-        <shade.mvn.plugin.version>3.3.0</shade.mvn.plugin.version>
+        <resources.mvn.plugin.version>3.3.1</resources.mvn.plugin.version>
+        <shade.mvn.plugin.version>3.4.1</shade.mvn.plugin.version>
         <site.mvn.plugin.version>3.9.1</site.mvn.plugin.version>
-        <source.mvn.plugin.version>3.2.1</source.mvn.plugin.version>
-        <surefire.mvn.plugin.version>3.0.0-M7</surefire.mvn.plugin.version>
+        <source.mvn.plugin.version>3.3.0</source.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
         <war.mvn.plugin.version>3.3.2</war.mvn.plugin.version>
-        <wiremock.mvn.plugin.version>2.9.0</wiremock.mvn.plugin.version>
+        <wiremock.mvn.plugin.version>2.11.0</wiremock.mvn.plugin.version>
         <xml.mvn.plugin.version>1.0.2</xml.mvn.plugin.version>
         <!-- END of Versions of Maven plugins -->
 
         <!-- Dependency versions -->
         <jersey.version>${project.version}</jersey.version>
-        <arquillian.version>1.5.0.Final</arquillian.version>
+        <arquillian.version>1.7.0.Final</arquillian.version>
         <arquillian.weld.version>2.1.0.Final</arquillian.weld.version>
         <!-- asm is now source integrated - keeping this property to see the version -->
         <!-- see core-server/src/main/java/jersey/repackaged/asm/.. -->
         <asm.version>9.5</asm.version>
-        <bnd.plugin.version>2.3.6</bnd.plugin.version>
-        <commons.io.version>2.11.0</commons.io.version>
-        <commons-lang3.version>3.3.2</commons-lang3.version>
+<!--        <bnd.plugin.version>2.3.6</bnd.plugin.version>-->
+        <commons.io.version>2.13.0</commons.io.version>
+<!--        <commons-lang3.version>3.3.2</commons-lang3.version>-->
         <commons.logging.version>1.2</commons.logging.version>
         <fasterxml.classmate.version>1.5.1</fasterxml.classmate.version>
         <felix.eventadmin.version>1.6.4</felix.eventadmin.version>
-        <felix.framework.security.version>2.8.3</felix.framework.security.version>
+        <felix.framework.security.version>2.8.4</felix.framework.security.version>
         <felix.framework.version>7.0.5</felix.framework.version>
         <findbugs.glassfish.version>1.7</findbugs.glassfish.version>
-        <freemarker.version>2.3.31</freemarker.version>
-        <gae.version>1.9.98</gae.version>
-        <groovy.version>4.0.6</groovy.version>
-        <gson.version>2.9.0</gson.version>
+        <freemarker.version>2.3.32</freemarker.version>
+        <gae.version>2.0.14</gae.version>
+        <groovy.version>4.0.12</groovy.version>
+        <gson.version>2.9.1</gson.version>
         <guava.version>31.1-jre</guava.version>
         <hamcrest.version>2.2</hamcrest.version>
-        <helidon.version>1.4.9</helidon.version>
-        <xmlunit.version>2.9.0</xmlunit.version>
-        <httpclient.version>4.5.13</httpclient.version>
+        <helidon.version>1.4.13</helidon.version>
+        <xmlunit.version>2.9.1</xmlunit.version>
+        <httpclient.version>4.5.14</httpclient.version>
         <httpclient5.version>5.2.1</httpclient5.version>
         <jackson.version>2.14.1</jackson.version>
         <jackson1.version>1.9.13</jackson1.version>
-        <javassist.version>3.29.0-GA</javassist.version>
+        <javassist.version>3.29.2-GA</javassist.version>
         <jersey1.version>1.19.3</jersey1.version>
         <jersey1.last.final.version>${jersey1.version}</jersey1.last.final.version>
         <jettison.version>1.3.7</jettison.version> <!-- TODO: 1.3.8 doesn't work; AbstractJsonTest complexBeanWithAttributes -->
-        <jmh.version>1.35</jmh.version>
+        <jmh.version>1.36</jmh.version>
         <jmockit.version>1.49</jmockit.version>
         <junit4.version>4.13.2</junit4.version>
-        <junit5.version>5.9.1</junit5.version>
-        <junit-platform-suite.version>1.9.1</junit-platform-suite.version>
+        <junit5.version>5.9.3</junit5.version>
+        <junit-platform-suite.version>1.9.3</junit-platform-suite.version>
         <kryo.version>4.0.2</kryo.version>
         <mockito.version>3.12.4</mockito.version> <!-- CQ 17673 -->
         <mustache.version>0.9.10</mustache.version>
-        <netty.version>4.1.79.Final</netty.version>
+        <netty.version>4.1.93.Final</netty.version>
         <opentracing.version>0.33.0</opentracing.version>
         <osgi.version>6.0.0</osgi.version>
         <osgi.framework.version>1.10.0</osgi.framework.version>
@@ -2249,20 +2249,20 @@
         <rxjava.version>1.3.8</rxjava.version>
         <rxjava2.version>2.2.21</rxjava2.version>
         <simple.version>6.0.1</simple.version>
-        <slf4j.version>2.0.3</slf4j.version>
+        <slf4j.version>2.0.7</slf4j.version>
         <smallrye.config.version>1.3.11</smallrye.config.version>
         <spring4.version>4.3.30.RELEASE</spring4.version>
-        <spring5.version>5.3.22</spring5.version>
+        <spring5.version>5.3.27</spring5.version>
         <testng.version>7.6.1</testng.version>
         <testng6.version>6.9.13.6</testng6.version>
-        <validation.impl.version>6.2.4.Final</validation.impl.version>
+        <validation.impl.version>6.2.5.Final</validation.impl.version>
         <!--<weld.version>2.2.14.Final</weld.version>--> <!-- 2.4.1 doesn't work - bv tests -->
         <weld3.version>3.1.9.Final</weld3.version>
         <wiremock.version>2.27.2</wiremock.version>
         <xerces.version>2.12.2</xerces.version>
 
         <!-- Graal VM       -->
-        <graalvm.version>20.3.2</graalvm.version>
+        <graalvm.version>20.3.10</graalvm.version>
 
         <!-- do not need CQs -->
         <cdi.api.version>1.2</cdi.api.version>
@@ -2286,12 +2286,12 @@
         <javax.persistence.version>2.2.3</javax.persistence.version>
         <javax.validation.api.version>2.0.2</javax.validation.api.version>
         <jaxb.api.version>2.3.3</jaxb.api.version>
-        <jaxb.ri.version>2.3.6</jaxb.ri.version>
+        <jaxb.ri.version>2.3.8</jaxb.ri.version>
         <jaxrs.api.spec.version>2.1</jaxrs.api.spec.version>
         <jaxrs.api.impl.version>2.1.6</jaxrs.api.impl.version>
         <jetty.plugin.version>6.1.26</jetty.plugin.version>
         <jetty.osgi.version>org.eclipse.jetty.*;version="[9.4,11)"</jetty.osgi.version>
-        <jetty.version>9.4.49.v20220914</jetty.version>
+        <jetty.version>9.4.51.v20230217</jetty.version>
         <jetty.servlet.api.25.version>6.1.14</jetty.servlet.api.25.version>
         <jsonb.api.version>1.0.2</jsonb.api.version>
         <jsonp.ri.version>1.1.6</jsonp.ri.version>
@@ -2302,7 +2302,7 @@
         <microprofile.config.version>2.0.1</microprofile.config.version>
         <microprofile.rest.client.version>2.0</microprofile.rest.client.version>
         <mimepull.version>1.9.15</mimepull.version>
-        <moxy.version>2.7.10</moxy.version>
+        <moxy.version>2.7.12</moxy.version>
         <osgi.service.cm.version>1.6.1</osgi.service.cm.version>
         <servlet2.version>2.5</servlet2.version>
         <servlet3.version>3.1.0</servlet3.version>
diff --git a/test-framework/maven/container-runner-maven-plugin/pom.xml b/test-framework/maven/container-runner-maven-plugin/pom.xml
index 122b543..d5153bc 100644
--- a/test-framework/maven/container-runner-maven-plugin/pom.xml
+++ b/test-framework/maven/container-runner-maven-plugin/pom.xml
@@ -36,11 +36,11 @@
     </description>
 
     <properties>
-        <groovy.version>3.0.2</groovy.version>
-        <groovy-eclipse-compiler.version>3.6.0-03</groovy-eclipse-compiler.version>
-        <groovy-eclipse-batch.version>3.0.2-02</groovy-eclipse-batch.version>
-        <maven.version>3.8.6</maven.version>
-        <maven-plugin.version>3.6.4</maven-plugin.version>
+        <groovy.version>3.0.17</groovy.version>
+        <groovy-eclipse-compiler.version>3.7.0</groovy-eclipse-compiler.version>
+        <groovy-eclipse-batch.version>3.0.8-01</groovy-eclipse-batch.version>
+        <maven.version>3.9.2</maven.version>
+        <maven-plugin.version>3.9.0</maven-plugin.version>
     </properties>
 
     <dependencies>
@@ -120,7 +120,7 @@
         <dependency>
             <groupId>org.codehaus.gmavenplus</groupId>
             <artifactId>gmavenplus-plugin</artifactId>
-            <version>1.13.1</version>
+            <version>3.0.0</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.apache.maven.shared</groupId>
@@ -154,6 +154,14 @@
                     <groupId>org.apache.maven</groupId>
                     <artifactId>maven-plugin-api</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.google.guava</groupId>
+                    <artifactId>guava</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
@@ -184,6 +192,10 @@
                     <groupId>org.apache.ant</groupId>
                     <artifactId>ant</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
diff --git a/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRule.java b/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRule.java
index 604cfcf..f9c8fde 100644
--- a/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRule.java
+++ b/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRule.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,8 +24,7 @@
 
 import org.apache.commons.io.filefilter.WildcardFileFilter;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule;
+import org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule;
 
 /**
  * Maven enforcer rule to enforce that given set of files does not exist.<br/>
@@ -33,11 +32,11 @@
  *
  * @author Stepan Vavra
  */
-public class FilePatternDoesNotExistRule extends AbstractNonCacheableEnforcerRule {
+public class FilePatternDoesNotExistRule extends AbstractStandardEnforcerRule {
 
     File[] files;
 
-    public void execute(EnforcerRuleHelper helper)
+    public void execute()
             throws EnforcerRuleException {
 
         if (files == null) {
diff --git a/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRule.java b/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRule.java
index 5906b3e..0f11c5e 100644
--- a/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRule.java
+++ b/test-framework/maven/custom-enforcer-rules/src/main/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRule.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,8 +26,7 @@
 import java.util.stream.Collectors;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule;
+import org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule;
 
 /**
  * Maven enforcer rule to enforce that given file does not contain line matching given pattern. When matched, exception is
@@ -37,7 +36,7 @@
  *
  * @author Stepan Vavra
  */
-public class PatternNotMatchedInFileRule extends AbstractNonCacheableEnforcerRule {
+public class PatternNotMatchedInFileRule extends AbstractStandardEnforcerRule {
 
     /**
      * The pattern to look for in the given file.
@@ -55,7 +54,7 @@
      */
     int maxMatchedLines = 0;
 
-    public void execute(EnforcerRuleHelper helper)
+    public void execute()
             throws EnforcerRuleException {
 
         if (file == null || !file.exists()) {
diff --git a/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRuleTest.java b/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRuleTest.java
index 0c2d91a..ed1b342 100644
--- a/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRuleTest.java
+++ b/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/FilePatternDoesNotExistRuleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -42,7 +42,7 @@
             final String pattern = file.getAbsolutePath().replace("PatternDoes", "*");
             filePatternDoesNotExistRule.files = new File[] {new File(pattern)};
 
-            filePatternDoesNotExistRule.execute(null);
+            filePatternDoesNotExistRule.execute();
         });
     }
 
@@ -56,6 +56,6 @@
         final String pattern = file.getAbsolutePath().replace("PatternDoes", "*").replace("Exist", "");
         filePatternDoesNotExistRule.files = new File[] {new File(pattern)};
 
-        filePatternDoesNotExistRule.execute(null);
+        filePatternDoesNotExistRule.execute();
     }
 }
diff --git a/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRuleTest.java b/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRuleTest.java
index 681106a..223a496 100644
--- a/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRuleTest.java
+++ b/test-framework/maven/custom-enforcer-rules/src/test/java/org/glassfish/jersey/test/maven/rule/PatternNotMatchedInFileRuleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -47,6 +47,6 @@
         filePatternDoesNotContainLineMatching.file = new File(getClass().getResource(fileOnClasspath).toURI());
         filePatternDoesNotContainLineMatching.pattern = ".*java\\.lang\\.OutOfMemoryError.*";
 
-        filePatternDoesNotContainLineMatching.execute(null);
+        filePatternDoesNotContainLineMatching.execute();
     }
 }
