Merge pull request #1116 from jansupol/add.jaxb.4

Updated dependencies for EE10.
diff --git a/jaxrs-tck-docs/tckbundle.sh b/jaxrs-tck-docs/tckbundle.sh
index dde4567..87f04a3 100644
--- a/jaxrs-tck-docs/tckbundle.sh
+++ b/jaxrs-tck-docs/tckbundle.sh
@@ -23,7 +23,7 @@
 export VERSION="$2"
 
 if [ -z "$VERSION" ]; then
-  export VERSION="3.1.0"
+  export VERSION="3.1.1"
 fi
 
 if [[ "$1" == "epl" || "$1" == "EPL" ]]; then
diff --git a/jaxrs-tck-docs/userguide/pom.xml b/jaxrs-tck-docs/userguide/pom.xml
index 96b3804..c6c0bdb 100644
--- a/jaxrs-tck-docs/userguide/pom.xml
+++ b/jaxrs-tck-docs/userguide/pom.xml
@@ -27,7 +27,7 @@
     <groupId>org.glassfish</groupId>
     <artifactId>tck_jaxrs</artifactId>
     <packaging>pom</packaging>
-    <version>3.1.0</version>
+    <version>3.1.1</version>
     <name>Eclipse Foundation Technology Compatibility Kit User's Guide for Jakarta RESTful Web Services for Jakarta EE, Release 3.1</name>
 
     <properties>
diff --git a/jaxrs-tck-docs/userguide/src/main/jbake/content/attributes.conf b/jaxrs-tck-docs/userguide/src/main/jbake/content/attributes.conf
index 3c55e82..d462414 100644
--- a/jaxrs-tck-docs/userguide/src/main/jbake/content/attributes.conf
+++ b/jaxrs-tck-docs/userguide/src/main/jbake/content/attributes.conf
@@ -26,7 +26,8 @@
 :MavenVersion: 3.6.3+
 :JakartaEEVersion: 10
 :excludeListFileName: jaxrs-tck-docs/TCK-Exclude-List.txt
-:TCKPackageName: jakarta-restful-ws-tck-3.1.0.zip
+:groupsExample: xml_binding
+:TCKPackageName: jakarta-restful-ws-tck-x.y.z.zip
 // Directory names used in examples in using.adoc.
 :sigTestDirectoryExample: ee.jakarta.tck.ws.rs.signaturetest.jaxrs
 :singleTestDirectoryExample: ee.jakarta.tck.ws.rs.api.rs.get
diff --git a/jaxrs-tck-docs/userguide/src/main/jbake/content/using-examples.inc b/jaxrs-tck-docs/userguide/src/main/jbake/content/using-examples.inc
index da42a04..f989877 100644
--- a/jaxrs-tck-docs/userguide/src/main/jbake/content/using-examples.inc
+++ b/jaxrs-tck-docs/userguide/src/main/jbake/content/using-examples.inc
@@ -17,10 +17,27 @@
 --
 [source,oac_no_warn]
 ----
-mvn verify -DexcludedGroups="xml_binding"
+mvn verify -DexcludedGroups=xml_binding
+----
+--
+Run only the optional jaxb tests using the following command:
+
+--
+[source,oac_no_warn]
+----
+mvn verify -Dgroups=xml_binding
 ----
 --
 
+Run the tests by excluding the security & servlet tests using the following 
+command:
+
+--
+[source,oac_no_warn]
+----
+mvn verify -DexcludedGroups=security,servlet
+----
+--
 
 [[GCMCU]]
 
diff --git a/jaxrs-tck-docs/userguide/src/main/jbake/content/using.adoc b/jaxrs-tck-docs/userguide/src/main/jbake/content/using.adoc
index 4b181b0..a7db87c 100644
--- a/jaxrs-tck-docs/userguide/src/main/jbake/content/using.adoc
+++ b/jaxrs-tck-docs/userguide/src/main/jbake/content/using.adoc
@@ -96,7 +96,6 @@
 * link:#GBFWK[Section 5.2.1, "To Run a Subset of Tests in Command-Line Mode"]
 
 
-
 [[GBFWK]][[to-run-a-subset-of-tests-in-command-line-mode]]
 
 5.2.1 To Run a Subset of Tests in Command-Line Mode
@@ -111,6 +110,46 @@
 
 The tests in the directory and its subdirectories are run.
 
+[NOTE]
+=======================================================================
+
+The Junit test tags(groups) available in the TCK are `xml_binding`, 
+`security` and `servlet`. These can be used to select or deselect the 
+tests for the execution.
+
+=======================================================================
+
+[[GBFQA]][[to-run-a-group-of-tests-in-command-line-mode]]
+
+5.2.2 To Run a Group of Tests in Command-Line Mode
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start the test run by executing the following command: +
+
+[source,subs="attributes"]
+----
+mvn verify -Dgroups={groupsExample}
+----
+
+Only the tests in the group +{groupsExample}+ is run. 
+Multiple groups can be separated by comma.
+
+
+[[GBFEP]][[to-exclude-a-group-of-tests-in-command-line-mode]]
+
+5.2.3 To Exclude a Group of Tests in Command-Line Mode
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start the test run by executing the following command: +
+
+[source,subs="attributes"]
+----
+mvn verify -DexcludedGroups={groupsExample}
+----
+
+The tests in the group +{groupsExample}+ is exclued from the run. 
+Multiple groups can be separated by comma.
+
 [[GCLRR]][[running-the-tck-against-the-ri]]
 
 5.3 Running the TCK Against another CI
diff --git a/jaxrs-tck/pom.xml b/jaxrs-tck/pom.xml
index 0182f32..c8b8e54 100644
--- a/jaxrs-tck/pom.xml
+++ b/jaxrs-tck/pom.xml
@@ -26,6 +26,7 @@
     <name>Jakarta RESTful WS TCK</name>
     <description>Technology Compatibility Kit for Jakarta RESTful Web Services</description>
     <url>https://github.com/jakartaee/rest</url>
+    <version>3.1.1</version>
 
     <parent>
         <groupId>jakarta.ws.rs</groupId>
@@ -105,7 +106,7 @@
                             </execution>
                         </executions>
                         <configuration>
-                            <FileName>${project.build.directory}/jakarta.ws.rs.sig_${project.version}</FileName>
+                            <FileName>${project.build.directory}/jakarta.ws.rs.sig_${project.parent.version}</FileName>
                             <packages>
                                 jakarta.ws.rs,jakarta.ws.rs.client,jakarta.ws.rs.core,jakarta.ws.rs.container,jakarta.ws.rs.ext,jakarta.ws.rs.sse
                             </packages>
@@ -158,7 +159,7 @@
         <dependency>
             <groupId>jakarta.ws.rs</groupId>
             <artifactId>jakarta.ws.rs-api</artifactId>
-            <version>${project.version}</version>
+            <version>${project.parent.version}</version>
         </dependency>
 
         <dependency>
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/linkjaxbadapter/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/linkjaxbadapter/JAXRSClientIT.java
index cf282b5..6b4d33e 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/linkjaxbadapter/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/linkjaxbadapter/JAXRSClientIT.java
@@ -37,6 +37,8 @@
 import jakarta.xml.bind.Marshaller;
 import jakarta.xml.bind.Unmarshaller;
 
+import org.junit.jupiter.api.Tag;
+
 /*
  * @class.setup_props: webServerHost;
  *                     webServerPort;
@@ -76,6 +78,7 @@
      * @test_Strategy:
      */
     @Test
+    @Tag("xml_binding")
     public void marshallTest() throws Fault {
         Link link = RuntimeDelegate.getInstance().createLinkBuilder().uri(url).title(title).rel(rel).type(media)
                 .param(param_names[0], param_vals[0]).param(param_names[1], param_vals[1]).build();
@@ -122,6 +125,7 @@
      * @test_Strategy: Test whether a class with Link can be unmarshalled fine
      */
     @Test
+    @Tag("xml_binding")
     public void unmarshallTest() throws Fault {
 
         Link link = RuntimeDelegate.getInstance().createLinkBuilder().uri(url).title(title).rel(rel).type(media)
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/JAXRSClientIT.java
index a731c03..dc3d48a 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/JAXRSClientIT.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2022 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,6 +42,7 @@
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.AfterEach;
 
 /*
@@ -97,6 +98,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void abortWithTest() throws Fault {
     invokeRequestAndCheckResponse(ContextOperation.ABORTWITH);
   }
@@ -113,8 +115,9 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableLanguagesTest() throws Fault {
-    setProperty(Property.REQUEST_HEADERS, "Accpet-Language:en-us");
+    setProperty(Property.REQUEST_HEADERS, "Accept-Language:en-us");
     invokeRequestAndCheckResponse(ContextOperation.GETACCEPTABLELANGUAGES);
   }
 
@@ -130,6 +133,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableLanguagesIsSortedTest() throws Fault {
     logMsg(
         "Check the #getAcceptableLanguages is sorted according to their q-value");
@@ -153,6 +157,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableLanguagesIsReadOnlyTest() throws Fault {
     setProperty(Property.REQUEST_HEADERS,
         "Accept-Language: da, en-gb;q=0.6, en-us;q=0.7");
@@ -173,6 +178,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableMediaTypesTest() throws Fault {
     setProperty(Property.REQUEST_HEADERS,
         buildAccept(MediaType.APPLICATION_JSON_TYPE));
@@ -192,6 +198,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableMediaTypesIsSortedTest() throws Fault {
     logMsg(
         "Check the #getAcceptableMediaTypes is sorted according to their q-value");
@@ -217,6 +224,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getAcceptableMediaTypesIsReadOnlyTest() throws Fault {
     setProperty(Property.REQUEST_HEADERS, buildAccept(MediaType.TEXT_XML_TYPE));
     setProperty(Property.UNEXPECTED_RESPONSE_MATCH, MediaType.APPLICATION_JSON);
@@ -235,6 +243,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getCookiesTest() throws Fault {
     String[] cookies = { "cookie1", "coookkkie99", "cookiiieee999" };
     for (String cookie : cookies) {
@@ -258,6 +267,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getCookiesIsReadonlyTest() throws Fault {
     setPrintEntity(true);
     invokeRequestAndCheckResponse(ContextOperation.GETCOOKIESISREADONLY);
@@ -274,6 +284,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getDateTest() throws Fault {
     Calendar calendar = Calendar.getInstance();
     calendar.set(Calendar.MILLISECOND, 0);
@@ -296,6 +307,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getDateIsNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.GETDATE);
@@ -312,6 +324,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getEntityStreamTest() throws Fault {
     String entity = "EnTiTyStReAmTeSt";
     setProperty(Property.CONTENT, entity);
@@ -331,6 +344,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getHeadersTest() throws Fault {
     for (int i = 1; i != 5; i++) {
       String header = "header" + i + ":" + "header" + i;
@@ -351,6 +365,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getHeadersIsMutableTest() throws Fault {
     setPrintEntity(true);
     invokeRequestAndCheckResponse(ContextOperation.GETHEADERSISMUTABLE);
@@ -367,6 +382,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getHeaderStringTest() throws Fault {
     setProperty(Property.SEARCH_STRING,
         ContextOperation.GETHEADERSTRING2.name());
@@ -384,6 +400,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getLanguageTest() throws Fault {
     setProperty(Property.REQUEST_HEADERS,
         HttpHeaders.CONTENT_LANGUAGE + ":en-gb");
@@ -402,6 +419,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getLanguageIsNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.GETLANGUAGE);
@@ -419,6 +437,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getLengthTest() throws Fault {
     setProperty(Property.CONTENT, "12345678901234567890");
     setProperty(Property.SEARCH_STRING, "20");
@@ -437,6 +456,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getLengthWhenNoEntityTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "-1");
     invokeRequestAndCheckResponse(ContextOperation.GETLENGTH);
@@ -454,6 +474,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getMediaTypeTest() throws Fault {
     addHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_SVG_XML);
     setProperty(Property.SEARCH_STRING, MediaType.APPLICATION_SVG_XML);
@@ -472,6 +493,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getMediaTypeIsNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.GETMEDIATYPE);
@@ -488,6 +510,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getMethodTest() throws Fault {
     String method = Request.OPTIONS.name();
     String header = RequestFilter.OPERATION + ":"
@@ -512,6 +535,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getPropertyIsNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.GETPROPERTY);
@@ -530,6 +554,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getPropertyNamesTest() throws Fault {
     for (int i = 0; i != 5; i++)
       setProperty(Property.UNORDERED_SEARCH_STRING,
@@ -547,6 +572,7 @@
    * request/response exchange context.
    */
   @Test
+  @Tag("servlet")
   public void getPropertyNamesIsReadOnlyTest() throws Fault {
     setProperty(Property.UNORDERED_SEARCH_STRING, "0");
     invokeRequestAndCheckResponse(ContextOperation.GETPROPERTYNAMESISREADONLY);
@@ -563,6 +589,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getRequestTest() throws Fault {
     String method = Request.OPTIONS.name();
     String header = RequestFilter.OPERATION + ":"
@@ -587,6 +614,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getSecurityContextPrincipalIsNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.GETSECURITYCONTEXT);
@@ -603,6 +631,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void getUriInfoTest() throws Fault {
     setProperty(Property.SEARCH_STRING, getAbsoluteUrl());
     invokeRequestAndCheckResponse(ContextOperation.GETURIINFO);
@@ -620,6 +649,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void hasEntityTest() throws Fault {
     setRequestContentEntity("entity");
     setProperty(Property.SEARCH_STRING, "true");
@@ -638,6 +668,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void hasEntityWhenNoEntityTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "false");
     invokeRequestAndCheckResponse(ContextOperation.HASENTITY);
@@ -657,6 +688,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void removePropertyTest() throws Fault {
     // getProperty returns null after the property has been set and removed
     setProperty(Property.SEARCH_STRING, "NULL");
@@ -674,6 +706,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setEntityStreamTest() throws Fault {
     setProperty(Property.SEARCH_STRING, RequestFilter.SETENTITYSTREAMENTITY);
     invokeRequestAndCheckResponse(ContextOperation.SETENTITYSTREAM);
@@ -690,6 +723,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setMethodTest() throws Fault {
     setProperty(Property.SEARCH_STRING, Request.OPTIONS.name());
     invokeRequestAndCheckResponse(ContextOperation.SETMETHOD);
@@ -709,6 +743,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setPropertyTest() throws Fault {
     setProperty(Property.SEARCH_STRING, TemplateFilter.PROPERTYNAME);
     invokeRequestAndCheckResponse(ContextOperation.SETPROPERTY);
@@ -727,6 +762,7 @@
    * Throws IOException. *
    */
   @Test
+  @Tag("servlet")
   public void setPropertyNullTest() throws Fault {
     setProperty(Property.SEARCH_STRING, "NULL");
     invokeRequestAndCheckResponse(ContextOperation.SETPROPERTYNULL);
@@ -746,6 +782,7 @@
    * Throws IOException. *
    */
   @Test
+  @Tag("servlet")
   public void setPropertyIsReflectedInServletRequestTest() throws Fault {
     setProperty(Property.SEARCH_STRING, RequestFilter.PROPERTYNAME);
     invokeRequestAndCheckResponse(ContextOperation.SETPROPERTYCONTEXT);
@@ -763,6 +800,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setRequestUriOneUriTest() throws Fault {
     setProperty(Property.SEARCH_STRING, RequestFilter.URI);
     invokeRequestAndCheckResponse(ContextOperation.SETREQUESTURI1);
@@ -780,6 +818,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setRequestUriTwoUrisTest() throws Fault {
     setProperty(Property.SEARCH_STRING, RequestFilter.URI);
     invokeRequestAndCheckResponse(ContextOperation.SETREQUESTURI2);
@@ -797,6 +836,7 @@
    * Throws IOException.
    */
   @Test
+  @Tag("servlet")
   public void setSecurityContextTest() throws Fault {
     setProperty(Property.SEARCH_STRING, RequestFilter.PRINCIPAL);
     invokeRequestAndCheckResponse(ContextOperation.SETSECURITYCONTEXT);
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/security/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/security/JAXRSClientIT.java
index f365ec7..14a6374 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/security/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/container/requestcontext/security/JAXRSClientIT.java
@@ -37,6 +37,7 @@
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Tag;
 
 /*
  * @class.setup_props: webServerHost;
@@ -109,6 +110,7 @@
    */
   @RunAsClient
   @Test
+  @Tag("security")
   public void getSecurityContextTest() throws Fault {
     setProperty(Property.BASIC_AUTH_USER, user);
     setProperty(Property.BASIC_AUTH_PASSWD, password);
@@ -127,6 +129,7 @@
    */
   @RunAsClient
   @Test
+  @Tag("security")
   public void noSecurityTest() throws Fault {
     String request = buildRequest(Request.POST, "");
     setProperty(Property.REQUEST, request);
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/core/securitycontext/basic/JAXRSBasicClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/core/securitycontext/basic/JAXRSBasicClientIT.java
index 9a7277a..5efacca 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/core/securitycontext/basic/JAXRSBasicClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/ee/rs/core/securitycontext/basic/JAXRSBasicClientIT.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2022 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
@@ -38,6 +38,7 @@
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.AfterEach;
 
 /*
@@ -104,6 +105,7 @@
    * @test_Strategy: Send no authorization, make sure of 401 response
    */
   @Test
+  @Tag("security")
   @RunAsClient
   public void noAuthorizationTest() throws Fault {
     super.noAuthorizationTest();
@@ -118,6 +120,7 @@
    * @test_Strategy: Send basic authorization, check security context
    */
   @Test
+  @Tag("security")
   @RunAsClient
   public void basicAuthorizationAdminTest() throws Fault {
     setProperty(Property.STATUS_CODE, getStatusCode(Response.Status.OK));
@@ -139,6 +142,7 @@
    * @test_Strategy: Send basic authorization, check security context
    */
   @Test
+  @Tag("security")
   @RunAsClient
   public void basicAuthorizationIncorrectUserTest() throws Fault {
     setProperty(Property.STATUS_CODE,
@@ -156,6 +160,7 @@
    * @test_Strategy: Send basic authorization, check security context
    */
   @Test
+  @Tag("security")
   @RunAsClient
   public void basicAuthorizationIncorrectPasswordTest() throws Fault {
     setProperty(Property.STATUS_CODE,
@@ -175,6 +180,7 @@
    * context
    */
   @Test
+  @Tag("security")
   @RunAsClient
   public void basicAuthorizationStandardUserTest() throws Fault {
     setProperty(Property.STATUS_CODE, getStatusCode(Response.Status.OK));
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsink/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsink/JAXRSClientIT.java
index 6b28708..56022d0 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsink/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsink/JAXRSClientIT.java
@@ -47,6 +47,7 @@
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.BeforeEach;
@@ -284,6 +285,7 @@
    * @test_Strategy:
    */
   @Test
+  @Tag("xml_binding")
   public void jaxbElementTest() throws Fault {
     Holder<InboundSseEvent> holder = querySSEEndpoint("mbw/jaxbelement");
     logTrace("Received", holder.get());
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsource/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsource/JAXRSClientIT.java
index bd1c4f6..3a66537 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsource/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/jaxrs21/ee/sse/sseeventsource/JAXRSClientIT.java
@@ -63,6 +63,7 @@
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.fail;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.BeforeEach;
@@ -496,6 +497,7 @@
    * @test_Strategy:
    */
   @Test
+  @Tag("xml_binding")
   public void jaxbElementTest() throws Fault {
     mediaTestLevel = 3;
     @SuppressWarnings("unchecked")
@@ -519,6 +521,7 @@
    * @test_Strategy:
    */
   @Test
+  @Tag("xml_binding")
   public void xmlTest() throws Fault {
     mediaTestLevel = 2;
     BiPredicate<Object, Object> p = (a, b) -> ((JaxbKeyValueBean) b).getValue().equals(a);
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/spec/provider/standardhaspriority/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/spec/provider/standardhaspriority/JAXRSClientIT.java
index 7bee122..66a5214 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/spec/provider/standardhaspriority/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/spec/provider/standardhaspriority/JAXRSClientIT.java
@@ -124,6 +124,7 @@
    * same mediaType
    */
   @Test
+  @Tag("xml_binding")
   public void readWriteMapProviderTest() throws Fault {
     MultivaluedMap<String, String> map = new MultivaluedHashMap<String, String>();
     map.add("map", "map");
@@ -144,6 +145,7 @@
    * same mediaType
    */
   @Test
+  @Tag("xml_binding")
   public void readWriteBooleanProviderTest() throws Fault {
     MediaType mt = MediaType.TEXT_PLAIN_TYPE;
     setProperty(Property.REQUEST, buildRequest(Request.POST, "boolean"));
@@ -167,6 +169,7 @@
    * same mediaType
    */
   @Test
+  @Tag("xml_binding")
   public void readWriteCharacterProviderTest() throws Fault {
     MediaType mt = MediaType.TEXT_PLAIN_TYPE;
     setProperty(Property.REQUEST, buildRequest(Request.POST, "character"));
@@ -190,6 +193,7 @@
    * same mediaType
    */
   @Test
+  @Tag("xml_binding")
   public void readWriteIntegerProviderTest() throws Fault {
     MediaType mt = MediaType.TEXT_PLAIN_TYPE;
     setProperty(Property.REQUEST, buildRequest(Request.POST, "number"));
diff --git a/jersey-tck/pom.xml b/jersey-tck/pom.xml
index d2eaac0..587c545 100644
--- a/jersey-tck/pom.xml
+++ b/jersey-tck/pom.xml
@@ -22,7 +22,7 @@
 
     <groupId>org.glassfish.jersey.core</groupId>
     <artifactId>jersey-tck</artifactId>
-    <version>3.1.0</version>
+    <version>3.1.1</version>
     <packaging>jar</packaging>
 
     <parent>
@@ -101,7 +101,7 @@
         <dependency>
             <groupId>jakarta.ws.rs</groupId>
             <artifactId>jakarta.ws.rs-api</artifactId>
-            <version>${project.version}</version>
+            <version>${project.parent.version}</version>
             <scope>test</scope>
         </dependency>