You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ge...@apache.org on 2024/01/25 19:17:46 UTC
(solr) branch branch_9x updated: SOLR-17089: Upgrade Jersey to 3.1.5 (#2178)
This is an automated email from the ASF dual-hosted git repository.
gerlowskija pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 61fe5aec102 SOLR-17089: Upgrade Jersey to 3.1.5 (#2178)
61fe5aec102 is described below
commit 61fe5aec10260823955272eae8fb2e774360ccfb
Author: Jason Gerlowski <ge...@apache.org>
AuthorDate: Mon Jan 22 09:30:42 2024 -0500
SOLR-17089: Upgrade Jersey to 3.1.5 (#2178)
Brings in a number of bug fixes and improvements, as well as fixing some
irritating stacktraces that Jersey 2.x was logging in certain startup
scenarios.
---
solr/CHANGES.txt | 2 +
solr/api/build.gradle | 7 +-
.../client/api/endpoint/AddReplicaPropertyApi.java | 6 +-
.../client/api/endpoint/AliasPropertyApis.java | 10 +-
.../client/api/endpoint/BalanceReplicasApi.java | 4 +-
.../client/api/endpoint/BalanceShardUniqueApi.java | 6 +-
.../client/api/endpoint/CollectionPropertyApi.java | 8 +-
.../solr/client/api/endpoint/CoreSnapshotApi.java | 12 +-
.../client/api/endpoint/CreateCollectionApi.java | 4 +-
.../api/endpoint/CreateCollectionBackupApi.java | 6 +-
.../api/endpoint/CreateCollectionSnapshotApi.java | 6 +-
.../client/api/endpoint/CreateCoreBackupApi.java | 6 +-
.../solr/client/api/endpoint/CreateReplicaApi.java | 6 +-
.../solr/client/api/endpoint/CreateShardApi.java | 6 +-
.../solr/client/api/endpoint/DeleteAliasApi.java | 8 +-
.../client/api/endpoint/DeleteCollectionApi.java | 8 +-
.../api/endpoint/DeleteCollectionBackupApi.java | 10 +-
.../api/endpoint/DeleteCollectionSnapshotApi.java | 10 +-
.../solr/client/api/endpoint/DeleteNodeApi.java | 6 +-
.../solr/client/api/endpoint/DeleteReplicaApi.java | 10 +-
.../api/endpoint/DeleteReplicaPropertyApi.java | 6 +-
.../solr/client/api/endpoint/DeleteShardApi.java | 8 +-
.../solr/client/api/endpoint/ForceLeaderApi.java | 6 +-
.../api/endpoint/GetNodeCommandStatusApi.java | 6 +-
.../solr/client/api/endpoint/GetPublicKeyApi.java | 4 +-
.../solr/client/api/endpoint/GetSchemaApi.java | 8 +-
.../client/api/endpoint/InstallCoreDataApi.java | 6 +-
.../client/api/endpoint/InstallShardDataApi.java | 6 +-
.../solr/client/api/endpoint/ListAliasesApi.java | 6 +-
.../api/endpoint/ListCollectionBackupsApi.java | 8 +-
.../client/api/endpoint/ListCollectionsApi.java | 4 +-
.../client/api/endpoint/ListConfigsetsApi.java | 4 +-
.../solr/client/api/endpoint/MergeIndexesApi.java | 6 +-
.../client/api/endpoint/MigrateReplicasApi.java | 4 +-
.../client/api/endpoint/ReloadCollectionApi.java | 6 +-
.../solr/client/api/endpoint/ReloadCoreApi.java | 6 +-
.../client/api/endpoint/RenameCollectionApi.java | 6 +-
.../solr/client/api/endpoint/RenameCoreApi.java | 6 +-
.../solr/client/api/endpoint/ReplaceNodeApi.java | 6 +-
.../solr/client/api/endpoint/RestoreCoreApi.java | 6 +-
.../apache/solr/client/api/endpoint/SelectApi.java | 8 +-
.../solr/client/api/endpoint/SwapCoresApi.java | 6 +-
.../solr/client/api/endpoint/SyncShardApi.java | 6 +-
.../solr/client/api/endpoint/UnloadCoreApi.java | 6 +-
solr/core/build.gradle | 14 +-
.../java/org/apache/solr/api/JerseyResource.java | 4 +-
.../java/org/apache/solr/core/CoreContainer.java | 2 +-
.../solr/handler/admin/ZookeeperReadAPI.java | 14 +-
.../solr/handler/admin/api/AddReplicaProperty.java | 2 +-
.../solr/handler/admin/api/AliasProperty.java | 2 +-
.../solr/handler/admin/api/BalanceReplicas.java | 2 +-
.../solr/handler/admin/api/BalanceShardUnique.java | 2 +-
.../solr/handler/admin/api/CoreReplicationAPI.java | 12 +-
.../solr/handler/admin/api/CoreSnapshot.java | 2 +-
.../solr/handler/admin/api/CreateAliasAPI.java | 10 +-
.../solr/handler/admin/api/CreateCollection.java | 2 +-
.../handler/admin/api/CreateCollectionBackup.java | 2 +-
.../admin/api/CreateCollectionSnapshot.java | 2 +-
.../solr/handler/admin/api/CreateCoreBackup.java | 2 +-
.../solr/handler/admin/api/CreateReplica.java | 2 +-
.../apache/solr/handler/admin/api/CreateShard.java | 2 +-
.../apache/solr/handler/admin/api/DeleteAlias.java | 2 +-
.../solr/handler/admin/api/DeleteCollection.java | 2 +-
.../handler/admin/api/DeleteCollectionBackup.java | 2 +-
.../admin/api/DeleteCollectionSnapshot.java | 2 +-
.../apache/solr/handler/admin/api/DeleteNode.java | 2 +-
.../solr/handler/admin/api/DeleteReplica.java | 2 +-
.../handler/admin/api/DeleteReplicaProperty.java | 2 +-
.../apache/solr/handler/admin/api/DeleteShard.java | 2 +-
.../apache/solr/handler/admin/api/ForceLeader.java | 2 +-
.../handler/admin/api/GetNodeCommandStatus.java | 2 +-
.../apache/solr/handler/admin/api/GetSchema.java | 2 +-
.../solr/handler/admin/api/GetSchemaFieldAPI.java | 12 +-
.../solr/handler/admin/api/InstallShardData.java | 2 +-
.../apache/solr/handler/admin/api/ListAliases.java | 2 +-
.../handler/admin/api/ListCollectionBackups.java | 2 +-
.../admin/api/ListCollectionSnapshotsAPI.java | 10 +-
.../solr/handler/admin/api/ListCollections.java | 2 +-
.../solr/handler/admin/api/MergeIndexes.java | 2 +-
.../solr/handler/admin/api/MigrateReplicas.java | 2 +-
.../solr/handler/admin/api/NodeLoggingAPI.java | 12 +-
.../handler/admin/api/ReloadCollectionAPI.java | 2 +-
.../apache/solr/handler/admin/api/ReloadCore.java | 2 +-
.../solr/handler/admin/api/RenameCollection.java | 2 +-
.../apache/solr/handler/admin/api/RenameCore.java | 2 +-
.../apache/solr/handler/admin/api/ReplaceNode.java | 2 +-
.../handler/admin/api/RestoreCollectionAPI.java | 10 +-
.../apache/solr/handler/admin/api/RestoreCore.java | 2 +-
.../solr/handler/admin/api/SnapshotBackupAPI.java | 10 +-
.../apache/solr/handler/admin/api/SwapCores.java | 2 +-
.../apache/solr/handler/admin/api/SyncShard.java | 2 +-
.../apache/solr/handler/admin/api/UnloadCore.java | 2 +-
.../solr/handler/admin/api/V2NodeLoggingAPI.java | 10 +-
.../solr/handler/configsets/ListConfigSets.java | 6 +-
.../solr/jersey/APIConfigProviderBinder.java | 2 +-
.../solr/jersey/CatchAllExceptionMapper.java | 14 +-
.../org/apache/solr/jersey/InjectionFactories.java | 4 +-
.../solr/jersey/MediaTypeOverridingFilter.java | 15 +-
.../org/apache/solr/jersey/MessageBodyReaders.java | 19 +-
.../org/apache/solr/jersey/MessageBodyWriters.java | 16 +-
.../solr/jersey/NotFoundExceptionMapper.java | 12 +-
.../solr/jersey/PostRequestDecorationFilter.java | 8 +-
.../solr/jersey/PostRequestLoggingFilter.java | 16 +-
.../org/apache/solr/jersey/RequestContextKeys.java | 4 +-
.../apache/solr/jersey/RequestMetricHandling.java | 12 +-
.../org/apache/solr/jersey/SolrJacksonMapper.java | 4 +-
.../apache/solr/jersey/SolrRequestAuthorizer.java | 12 +-
.../jersey/container/ContainerRequestUtils.java | 4 +-
.../container/JettyBridgeResponseWriter.java | 2 +-
.../org/apache/solr/security/GetPublicKey.java | 2 +-
.../org/apache/solr/api/JerseyResourceTest.java | 2 +-
.../solr/handler/admin/api/NodeLoggingAPITest.java | 69 ++---
.../handler/admin/api/SnapshotBackupAPITest.java | 97 +++-----
.../handler/configsets/ListConfigSetsAPITest.java | 77 +-----
.../solr/jersey/PostRequestLoggingFilterTest.java | 6 +-
.../licenses/aopalliance-repackaged-2.6.1.jar.sha1 | 1 -
.../licenses/aopalliance-repackaged-3.0.5.jar.sha1 | 1 +
solr/licenses/bcutil-jdk18on-NOTICE.txt | 2 -
solr/licenses/grizzly-framework-2.4.4.jar.sha1 | 1 -
solr/licenses/grizzly-framework-LICENSE-EPL.txt | 277 ---------------------
solr/licenses/grizzly-http-2.4.4.jar.sha1 | 1 -
solr/licenses/grizzly-http-LICENSE-EPL.txt | 277 ---------------------
solr/licenses/grizzly-http-server-2.4.4.jar.sha1 | 1 -
solr/licenses/grizzly-http-servlet-2.4.4.jar.sha1 | 1 -
solr/licenses/hk2-api-2.6.1.jar.sha1 | 1 -
solr/licenses/hk2-api-3.0.5.jar.sha1 | 1 +
solr/licenses/hk2-locator-2.6.1.jar.sha1 | 1 -
solr/licenses/hk2-locator-3.0.5.jar.sha1 | 1 +
solr/licenses/hk2-utils-2.6.1.jar.sha1 | 1 -
solr/licenses/hk2-utils-3.0.5.jar.sha1 | 1 +
...ule-jakarta-xmlbind-annotations-2.16.1.jar.sha1 | 1 +
...jackson-module-jaxb-annotations-2.16.1.jar.sha1 | 1 -
.../licenses/jakarta.annotation-api-1.3.5.jar.sha1 | 1 -
.../licenses/jakarta.annotation-api-2.1.1.jar.sha1 | 1 +
solr/licenses/jakarta.inject-api-2.0.1.jar.sha1 | 1 +
.../licenses/jakarta.validation-api-2.0.2.jar.sha1 | 1 -
.../licenses/jakarta.validation-api-3.0.2.jar.sha1 | 1 +
solr/licenses/jakarta.ws.rs-api-2.1.6.jar.sha1 | 1 -
solr/licenses/jakarta.ws.rs-api-3.1.0.jar.sha1 | 1 +
solr/licenses/javassist-3.29.0-GA.jar.sha1 | 1 -
solr/licenses/javassist-3.29.2-GA.jar.sha1 | 1 +
solr/licenses/jersey-client-2.39.1.jar.sha1 | 1 -
solr/licenses/jersey-client-3.1.5.jar.sha1 | 1 +
solr/licenses/jersey-common-2.39.1.jar.sha1 | 1 -
solr/licenses/jersey-common-3.1.5.jar.sha1 | 1 +
.../jersey-container-grizzly2-http-2.39.1.jar.sha1 | 1 -
...rsey-container-grizzly2-servlet-2.39.1.jar.sha1 | 1 -
.../jersey-container-servlet-2.39.1.jar.sha1 | 1 -
.../jersey-container-servlet-core-2.39.1.jar.sha1 | 1 -
.../jersey-entity-filtering-2.39.1.jar.sha1 | 1 -
.../jersey-entity-filtering-3.1.5.jar.sha1 | 1 +
solr/licenses/jersey-hk2-2.39.1.jar.sha1 | 1 -
solr/licenses/jersey-hk2-3.1.5.jar.sha1 | 1 +
solr/licenses/jersey-media-jaxb-2.39.1.jar.sha1 | 1 -
.../jersey-media-json-jackson-2.39.1.jar.sha1 | 1 -
.../jersey-media-json-jackson-3.1.5.jar.sha1 | 1 +
solr/licenses/jersey-server-2.39.1.jar.sha1 | 1 -
solr/licenses/jersey-server-3.1.5.jar.sha1 | 1 +
.../jersey-test-framework-core-2.39.1.jar.sha1 | 1 -
...est-framework-provider-grizzly2-2.39.1.jar.sha1 | 1 -
solr/licenses/junit-jupiter-5.9.1.jar.sha1 | 1 -
solr/licenses/junit-jupiter-api-5.9.1.jar.sha1 | 1 -
solr/licenses/junit-jupiter-engine-5.9.1.jar.sha1 | 1 -
solr/licenses/junit-jupiter-params-5.9.1.jar.sha1 | 1 -
.../licenses/junit-platform-commons-1.9.1.jar.sha1 | 1 -
solr/licenses/junit-platform-engine-1.9.1.jar.sha1 | 1 -
solr/licenses/opentest4j-1.2.0.jar.sha1 | 1 -
solr/licenses/opentest4j-LICENSE-ASL.txt | 201 ---------------
solr/licenses/opentest4j-NOTICE.txt | 13 -
solr/licenses/swagger-annotations-2.2.17.jar.sha1 | 1 -
.../swagger-annotations-jakarta-2.2.17.jar.sha1 | 1 +
versions.lock | 69 ++---
versions.props | 8 +-
173 files changed, 425 insertions(+), 1355 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 2a36cd1853a..b15aaad4145 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -136,6 +136,8 @@ Dependency Upgrades
* SOLR-17026: Upgrade to Gradle 8.4 (Kevin Risden)
+* SOLR-17089: Upgrade Jersey to 3.1.5 (Jason Gerlowski)
+
Other Changes
---------------------
* SOLR-17024: Remove support for the long-defunct "collectionDefaults" clusterprops key (Jason Gerlowski)
diff --git a/solr/api/build.gradle b/solr/api/build.gradle
index bbcf66170e1..1f8118116c6 100644
--- a/solr/api/build.gradle
+++ b/solr/api/build.gradle
@@ -44,10 +44,13 @@ configurations {
canBeConsumed = true
canBeResolved = false
}
+
+ swaggerBuild.extendsFrom implementation
}
resolve {
classpath = sourceSets.main.runtimeClasspath
+ buildClasspath = sourceSets.main.runtimeClasspath.plus(configurations.getByName("swaggerBuild"))
resourcePackages = ["org.apache.solr.client.api.util", "org.apache.solr.client.api.endpoint"]
outputDir = file(project.openApiSpecDir)
outputFileName = "solr-openapi-${version}"
@@ -59,12 +62,14 @@ dependencies {
implementation 'jakarta.ws.rs:jakarta.ws.rs-api'
implementation 'com.fasterxml.jackson.core:jackson-annotations'
- api 'io.swagger.core.v3:swagger-annotations'
+ api 'io.swagger.core.v3:swagger-annotations-jakarta'
implementation 'org.semver4j:semver4j'
testImplementation project(':solr:test-framework')
testImplementation project(':solr:api')
testImplementation 'org.apache.lucene:lucene-test-framework'
+
+ swaggerBuild 'io.swagger.core.v3:swagger-jaxrs2-jakarta'
}
// Non-Java client generation tasks below:
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java
index 8dce6a28e54..8e4d53e521a 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java
@@ -20,9 +20,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/AliasPropertyApis.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/AliasPropertyApis.java
index 7bc167a2b36..2c1f2ae8267 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/AliasPropertyApis.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/AliasPropertyApis.java
@@ -19,11 +19,11 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.GetAliasPropertyResponse;
import org.apache.solr.client.api.model.GetAllAliasPropertiesResponse;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceReplicasApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceReplicasApi.java
index d05719efea8..9cbfa5bf3a8 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceReplicasApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceReplicasApi.java
@@ -18,8 +18,8 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.BalanceReplicasRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceShardUniqueApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceShardUniqueApi.java
index 5c10d957640..3c5493e9438 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceShardUniqueApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/BalanceShardUniqueApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.BalanceShardUniqueRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CollectionPropertyApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CollectionPropertyApi.java
index ed26ea443cc..8c69aa3ce4c 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CollectionPropertyApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CollectionPropertyApi.java
@@ -17,10 +17,10 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.UpdateCollectionPropertyRequestBody;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CoreSnapshotApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CoreSnapshotApi.java
index 8d19211da16..e36e1e3c597 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CoreSnapshotApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CoreSnapshotApi.java
@@ -18,12 +18,12 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.CreateCoreSnapshotResponse;
import org.apache.solr.client.api.model.DeleteSnapshotResponse;
import org.apache.solr.client.api.model.ListCoreSnapshotsResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionApi.java
index 748b27972e6..022242288c4 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionApi.java
@@ -17,8 +17,8 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.CreateCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionBackupApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionBackupApi.java
index 802b8df7db0..3e08bad6d45 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionBackupApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionBackupApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.CreateCollectionBackupRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionSnapshotApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionSnapshotApi.java
index 80440ee92c0..70240a02e65 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionSnapshotApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCollectionSnapshotApi.java
@@ -19,9 +19,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.CreateCollectionSnapshotRequestBody;
import org.apache.solr.client.api.model.CreateCollectionSnapshotResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCoreBackupApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCoreBackupApi.java
index 113ffb722ca..4c1112e78c0 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCoreBackupApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateCoreBackupApi.java
@@ -19,9 +19,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.CreateCoreBackupRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateReplicaApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateReplicaApi.java
index 21c26ea8f49..115d8b54088 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateReplicaApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateReplicaApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.CreateReplicaRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateShardApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateShardApi.java
index 0bd30763811..ead155ea1c4 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateShardApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/CreateShardApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.CreateShardRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java
index 05d32068683..badaea3c117 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java
@@ -19,10 +19,10 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
@Path("/aliases/{aliasName}")
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java
index 8cf0010066e..114f3567849 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java
@@ -19,10 +19,10 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
@Path("/collections/{collectionName}")
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionBackupApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionBackupApi.java
index e53f8ea96d7..650e462458a 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionBackupApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionBackupApi.java
@@ -23,11 +23,11 @@ import static org.apache.solr.client.api.model.Constants.BACKUP_REPOSITORY;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.BackupDeletionResponseBody;
import org.apache.solr.client.api.model.PurgeUnusedFilesRequestBody;
import org.apache.solr.client.api.model.PurgeUnusedResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionSnapshotApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionSnapshotApi.java
index c00ed95da8d..8fed7eb4ff9 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionSnapshotApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionSnapshotApi.java
@@ -19,11 +19,11 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.DeleteCollectionSnapshotResponse;
@Path("/collections/{collName}/snapshots/{snapshotName}")
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteNodeApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteNodeApi.java
index 0495d298cb9..64b5978afd2 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteNodeApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteNodeApi.java
@@ -20,9 +20,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.DeleteNodeRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaApi.java
index f17abdfab26..928b0f6e19d 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaApi.java
@@ -26,11 +26,11 @@ import static org.apache.solr.client.api.model.Constants.FOLLOW_ALIASES;
import static org.apache.solr.client.api.model.Constants.ONLY_IF_DOWN;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.ScaleCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaPropertyApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaPropertyApi.java
index 8e8f52fd33a..327ffefccd6 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaPropertyApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteReplicaPropertyApi.java
@@ -19,9 +19,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
/**
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteShardApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteShardApi.java
index 935803f7ca7..d626f006743 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteShardApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteShardApi.java
@@ -19,10 +19,10 @@ package org.apache.solr.client.api.endpoint;
import static org.apache.solr.client.api.model.Constants.ASYNC;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
/** V2 API definition for deleting a particular shard from its collection. */
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ForceLeaderApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ForceLeaderApi.java
index 2a0336a2d3d..4e748f2afc8 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ForceLeaderApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ForceLeaderApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
/** V2 API definition for triggering a leader election on a particular collection and shard. */
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetNodeCommandStatusApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetNodeCommandStatusApi.java
index 76b95556e6d..a2b5bcc5986 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetNodeCommandStatusApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetNodeCommandStatusApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.GetNodeCommandStatusResponse;
/**
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetPublicKeyApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetPublicKeyApi.java
index 562a2945d9e..ef59999e1ca 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetPublicKeyApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetPublicKeyApi.java
@@ -17,8 +17,8 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.PublicKeyResponse;
/** V2 API definition to fetch the public key of the receiving node. */
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetSchemaApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetSchemaApi.java
index d745ba59a05..8cec1d02f7a 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/GetSchemaApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/GetSchemaApi.java
@@ -19,10 +19,10 @@ package org.apache.solr.client.api.endpoint;
import static org.apache.solr.client.api.util.Constants.INDEX_PATH_PREFIX;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
import org.apache.solr.client.api.model.SchemaInfoResponse;
import org.apache.solr.client.api.model.SchemaNameResponse;
import org.apache.solr.client.api.model.SchemaSimilarityResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallCoreDataApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallCoreDataApi.java
index 4ee95539571..36a30cdc373 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallCoreDataApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallCoreDataApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.InstallCoreDataRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallShardDataApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallShardDataApi.java
index 65648ad9117..f38c2bd00ee 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallShardDataApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/InstallShardDataApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.InstallShardDataRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListAliasesApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListAliasesApi.java
index 3f786b9d5e7..c0b9f393ced 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListAliasesApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListAliasesApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.GetAliasByNameResponse;
import org.apache.solr.client.api.model.ListAliasesResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionBackupsApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionBackupsApi.java
index 59657085b95..1682dec75e1 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionBackupsApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionBackupsApi.java
@@ -20,11 +20,11 @@ import static org.apache.solr.client.api.model.Constants.BACKUP_LOCATION;
import static org.apache.solr.client.api.model.Constants.BACKUP_REPOSITORY;
import io.swagger.v3.oas.annotations.Operation;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
import java.io.IOException;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
import org.apache.solr.client.api.model.ListCollectionBackupsResponse;
/** V2 API definitions for collection-backup "listing". */
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionsApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionsApi.java
index bb8baa210f3..2f20f4b4366 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionsApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListCollectionsApi.java
@@ -17,8 +17,8 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.ListCollectionsResponse;
@Path("/collections")
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListConfigsetsApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListConfigsetsApi.java
index b00a47cac19..7e0cf620b7f 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ListConfigsetsApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ListConfigsetsApi.java
@@ -17,8 +17,8 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.ListConfigsetsResponse;
/** V2 API definition for listing configsets. */
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/MergeIndexesApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/MergeIndexesApi.java
index dbc913395de..a9110426d1c 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/MergeIndexesApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/MergeIndexesApi.java
@@ -19,9 +19,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.MergeIndexesRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/MigrateReplicasApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/MigrateReplicasApi.java
index 82e8110b697..566be87b76b 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/MigrateReplicasApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/MigrateReplicasApi.java
@@ -18,8 +18,8 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
import org.apache.solr.client.api.model.MigrateReplicasRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCollectionApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCollectionApi.java
index 2bf85b90626..093ee44f225 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCollectionApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCollectionApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.ReloadCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCoreApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCoreApi.java
index 8a7cced7aa1..4e1c356ff35 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCoreApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReloadCoreApi.java
@@ -20,9 +20,9 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.ReloadCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCollectionApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCollectionApi.java
index 6eee0d431f2..ca3206c64fa 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCollectionApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCollectionApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.RenameCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCoreApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCoreApi.java
index 115505fd894..844ad7d5215 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCoreApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/RenameCoreApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.RenameCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReplaceNodeApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReplaceNodeApi.java
index 56762fa524d..cee4032a196 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/ReplaceNodeApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/ReplaceNodeApi.java
@@ -19,9 +19,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.ReplaceNodeRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/RestoreCoreApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/RestoreCoreApi.java
index 3f2264a6562..c65207cdd70 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/RestoreCoreApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/RestoreCoreApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.RestoreCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/SelectApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/SelectApi.java
index e04aa344c91..30736784758 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/SelectApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/SelectApi.java
@@ -24,12 +24,12 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.extensions.Extension;
import io.swagger.v3.oas.annotations.extensions.ExtensionProperty;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
import java.io.InputStream;
import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
import org.apache.solr.client.api.model.FlexibleSolrJerseyResponse;
import org.apache.solr.client.api.util.StoreApiParameters;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/SwapCoresApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/SwapCoresApi.java
index 23e8b7f8f14..b8f5387d083 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/SwapCoresApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/SwapCoresApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.SwapCoresRequestBody;
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/SyncShardApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/SyncShardApi.java
index 1e9805be65a..10990f2ea67 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/SyncShardApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/SyncShardApi.java
@@ -17,9 +17,9 @@
package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
/**
diff --git a/solr/api/src/java/org/apache/solr/client/api/endpoint/UnloadCoreApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/UnloadCoreApi.java
index c8239ac3d84..6876d852d9c 100644
--- a/solr/api/src/java/org/apache/solr/client/api/endpoint/UnloadCoreApi.java
+++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/UnloadCoreApi.java
@@ -18,9 +18,9 @@ package org.apache.solr.client.api.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.UnloadCoreRequestBody;
diff --git a/solr/core/build.gradle b/solr/core/build.gradle
index bd50c886234..0102a9793ce 100644
--- a/solr/core/build.gradle
+++ b/solr/core/build.gradle
@@ -31,7 +31,7 @@ dependencies {
exclude group: "com.github.spotbugs", module: "spotbugs-annotations"
}
- implementation 'io.swagger.core.v3:swagger-annotations'
+ implementation 'io.swagger.core.v3:swagger-annotations-jakarta'
// Export these dependencies so that they're imported transitively by
// other modules.
@@ -59,16 +59,19 @@ dependencies {
implementation('org.glassfish.jersey.containers:jersey-container-jetty-http', {
exclude group: "org.eclipse.jetty", module: "jetty-continuation"
+ exclude group: "org.glassfish.hk2.external", module: "jakarta.inject"
})
permitUnusedDeclared 'org.glassfish.jersey.containers:jersey-container-jetty-http'
implementation 'org.glassfish.jersey.inject:jersey-hk2'
permitUnusedDeclared 'org.glassfish.jersey.inject:jersey-hk2'
- implementation 'org.glassfish.jersey.media:jersey-media-json-jackson'
+ implementation ('org.glassfish.jersey.media:jersey-media-json-jackson', {
+ exclude group: "jakarta.xml.bind", module: "jakarta.xml.bind-api"
+ })
permitUnusedDeclared 'org.glassfish.jersey.media:jersey-media-json-jackson'
implementation 'org.glassfish.jersey.core:jersey-common'
implementation 'org.glassfish.jersey.core:jersey-server'
implementation 'org.glassfish.hk2:hk2-api'
- implementation 'org.glassfish.hk2.external:jakarta.inject'
+ implementation 'jakarta.inject:jakarta.inject-api'
implementation 'jakarta.ws.rs:jakarta.ws.rs-api'
implementation 'jakarta.annotation:jakarta.annotation-api'
@@ -183,11 +186,6 @@ dependencies {
testImplementation 'junit:junit'
testImplementation 'org.hamcrest:hamcrest'
- testImplementation 'org.glassfish.jersey.test-framework:jersey-test-framework-core'
- testImplementation 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2'
- permitTestUnusedDeclared 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2'
-
-
testImplementation('org.mockito:mockito-core', {
exclude group: "net.bytebuddy", module: "byte-buddy-agent"
})
diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java
index b7ff482fd1c..5061adee53d 100644
--- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java
+++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java
@@ -19,9 +19,9 @@ package org.apache.solr.api;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
import java.util.function.Supplier;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.jersey.CatchAllExceptionMapper;
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index f1b82fe810a..3d7dff9ed13 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -33,6 +33,7 @@ import com.google.common.annotations.VisibleForTesting;
import io.opentracing.Tracer;
import io.opentracing.noop.NoopTracer;
import io.opentracing.noop.NoopTracerFactory;
+import jakarta.inject.Singleton;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.nio.file.Path;
@@ -55,7 +56,6 @@ import java.util.concurrent.TimeoutException;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
-import javax.inject.Singleton;
import org.apache.http.auth.AuthSchemeProvider;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.config.Lookup;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java
index c2f244e93d8..c3e2c4c6a93 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java
@@ -25,17 +25,17 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.Parameter;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.solrj.impl.BinaryResponseParser;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java
index c3f29f90b00..37f79fb9f87 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java
@@ -27,10 +27,10 @@ import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFI
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.AddReplicaPropertyApi;
import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasProperty.java
index 1184751cb9a..9534bacd595 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasProperty.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasProperty.java
@@ -23,9 +23,9 @@ import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTIO
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.AliasPropertyApis;
import org.apache.solr.client.api.model.GetAliasPropertyResponse;
import org.apache.solr.client.api.model.GetAllAliasPropertiesResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicas.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicas.java
index 6e163857296..6063074a235 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicas.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicas.java
@@ -23,9 +23,9 @@ import static org.apache.solr.common.params.CommonAdminParams.WAIT_FOR_FINAL_STA
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.BalanceReplicasApi;
import org.apache.solr.client.api.model.BalanceReplicasRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUnique.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUnique.java
index 149fa1f4105..ae54b0ab98d 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUnique.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUnique.java
@@ -25,10 +25,10 @@ import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFI
import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.BalanceShardUniqueApi;
import org.apache.solr.client.api.model.BalanceShardUniqueRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java
index 9049a4adc7e..f6bf4f4c05d 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java
@@ -21,14 +21,14 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PER
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.Parameter;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.List;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.core.SolrCore;
import org.apache.solr.jersey.JacksonReflectMapWriter;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshot.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshot.java
index d043894d128..3760c1690b4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshot.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshot.java
@@ -19,11 +19,11 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PERM;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
-import javax.inject.Inject;
import org.apache.lucene.index.IndexCommit;
import org.apache.solr.client.api.endpoint.CoreSnapshotApi;
import org.apache.solr.client.api.model.CreateCoreSnapshotResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java
index dfc09e917c1..8e8ecaf405f 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java
@@ -36,17 +36,17 @@ import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PER
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import javax.inject.Inject;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.client.api.model.CreateCollectionRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollection.java
index 2de8917df6a..4042d303be1 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollection.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollection.java
@@ -41,6 +41,7 @@ import static org.apache.solr.handler.admin.CollectionsHandler.waitForActiveColl
import static org.apache.solr.handler.api.V2ApiUtils.flattenMapWithPrefix;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@@ -52,7 +53,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateCollectionApi;
import org.apache.solr.client.api.model.CreateCollectionRequestBody;
import org.apache.solr.client.api.model.CreateCollectionRouterProperties;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackup.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackup.java
index b85e766c7f8..09729da6ea2 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackup.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackup.java
@@ -35,9 +35,9 @@ import static org.apache.solr.handler.admin.api.CreateCollection.copyPrefixedPro
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateCollectionBackupApi;
import org.apache.solr.client.api.model.CreateCollectionBackupRequestBody;
import org.apache.solr.client.api.model.CreateCollectionBackupResponseBody;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshot.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshot.java
index 52cc1ab0427..dd4a7a4033b 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshot.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshot.java
@@ -23,9 +23,9 @@ import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateCollectionSnapshotApi;
import org.apache.solr.client.api.model.CreateCollectionSnapshotRequestBody;
import org.apache.solr.client.api.model.CreateCollectionSnapshotResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreBackup.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreBackup.java
index 08cfb9e3f13..cab08b61e5c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreBackup.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreBackup.java
@@ -18,10 +18,10 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.net.URI;
import java.nio.file.Paths;
import java.util.Optional;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateCoreBackupApi;
import org.apache.solr.client.api.model.CreateCoreBackupRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplica.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplica.java
index 180a0a335d4..72c8eb058b1 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplica.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplica.java
@@ -40,10 +40,10 @@ import static org.apache.solr.common.params.ShardParams._ROUTE_;
import static org.apache.solr.handler.admin.api.CreateCollection.copyPrefixedPropertiesWithoutPrefix;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateReplicaApi;
import org.apache.solr.client.api.model.CreateReplicaRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShard.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShard.java
index ffa2f55ef25..2912fbd8e07 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShard.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShard.java
@@ -36,10 +36,10 @@ import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.handler.admin.api.CreateCollection.copyPrefixedPropertiesWithoutPrefix;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.CreateShardApi;
import org.apache.solr.client.api.model.CreateShardRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java
index 1242375f5ba..de625ef830f 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java
@@ -23,9 +23,9 @@ import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteAliasApi;
import org.apache.solr.client.api.model.AsyncJerseyResponse;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java
index 812f7255ad2..04b16435aeb 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java
@@ -23,9 +23,9 @@ import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteCollectionApi;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
import org.apache.solr.client.solrj.SolrResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackup.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackup.java
index 88afdc1eb50..bb88c09853c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackup.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackup.java
@@ -30,12 +30,12 @@ import static org.apache.solr.common.params.CoreAdminParams.NAME;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.inject.Inject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteCollectionBackupApi;
import org.apache.solr.client.api.model.BackupDeletionData;
import org.apache.solr.client.api.model.BackupDeletionResponseBody;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshot.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshot.java
index 1ebf7944a08..5ead94e0432 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshot.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshot.java
@@ -23,9 +23,9 @@ import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteCollectionSnapshotApi;
import org.apache.solr.client.api.model.DeleteCollectionSnapshotResponse;
import org.apache.solr.client.solrj.SolrResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNode.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNode.java
index 76ace8384aa..a2459a7b68f 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNode.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNode.java
@@ -22,9 +22,9 @@ import static org.apache.solr.common.params.CoreAdminParams.NODE;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteNodeApi;
import org.apache.solr.client.api.model.DeleteNodeRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplica.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplica.java
index 3f3f9d44b27..857624b4852 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplica.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplica.java
@@ -31,9 +31,9 @@ import static org.apache.solr.common.params.CoreAdminParams.DELETE_INSTANCE_DIR;
import static org.apache.solr.common.params.CoreAdminParams.REPLICA;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteReplicaApi;
import org.apache.solr.client.api.model.ScaleCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaProperty.java
index 30651f83b6c..1630bf575e6 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaProperty.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaProperty.java
@@ -25,8 +25,8 @@ import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP;
import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFIX;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
+import jakarta.inject.Inject;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteReplicaPropertyApi;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.solrj.SolrResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShard.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShard.java
index 2d627162e7d..5b9b5407274 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShard.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShard.java
@@ -27,9 +27,9 @@ import static org.apache.solr.common.params.CoreAdminParams.DELETE_INDEX;
import static org.apache.solr.common.params.CoreAdminParams.DELETE_INSTANCE_DIR;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.DeleteShardApi;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
import org.apache.solr.common.cloud.ZkNodeProps;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeader.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeader.java
index c3080e3ef16..d7b2ab42eb1 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeader.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeader.java
@@ -21,11 +21,11 @@ import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP;
import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.lang.invoke.MethodHandles;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ForceLeaderApi;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.cloud.ZkController;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetNodeCommandStatus.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetNodeCommandStatus.java
index fa3435996ef..c6627d012e3 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetNodeCommandStatus.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetNodeCommandStatus.java
@@ -20,7 +20,7 @@ import static org.apache.solr.handler.admin.CoreAdminHandler.CoreAdminAsyncTrack
import static org.apache.solr.handler.admin.CoreAdminHandler.CoreAdminAsyncTracker.FAILED;
import static org.apache.solr.handler.admin.CoreAdminHandler.CoreAdminAsyncTracker.RUNNING;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.client.api.endpoint.GetNodeCommandStatusApi;
import org.apache.solr.client.api.model.GetNodeCommandStatusResponse;
import org.apache.solr.common.params.CoreAdminParams;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchema.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchema.java
index 3e12805e3cc..909d0cfe997 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchema.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchema.java
@@ -17,8 +17,8 @@
package org.apache.solr.handler.admin.api;
+import jakarta.inject.Inject;
import java.lang.invoke.MethodHandles;
-import javax.inject.Inject;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.endpoint.GetSchemaApi;
import org.apache.solr.client.api.model.SchemaInfoResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java
index d90512decc1..5050787429c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java
@@ -20,14 +20,14 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2;
import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.MapWriter;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
index 05df6a2b15e..54d53d64f4a 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
@@ -20,8 +20,8 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.InstallShardDataApi;
import org.apache.solr.client.api.model.InstallShardDataRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliases.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliases.java
index d8995ce16ae..69be9a59567 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliases.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliases.java
@@ -18,10 +18,10 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PERM;
+import jakarta.inject.Inject;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ListAliasesApi;
import org.apache.solr.client.api.model.GetAliasByNameResponse;
import org.apache.solr.client.api.model.ListAliasesResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackups.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackups.java
index 859e0e38941..c81e7c44246 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackups.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackups.java
@@ -24,12 +24,12 @@ import static org.apache.solr.common.params.CoreAdminParams.NAME;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ListCollectionBackupsApi;
import org.apache.solr.client.api.model.CollectionBackupDetails;
import org.apache.solr.client.api.model.ListCollectionBackupsResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java
index 47f9194b046..dec0f5998f6 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java
@@ -22,13 +22,13 @@ import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PER
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
import java.util.Collection;
import java.util.Map;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
import org.apache.solr.client.api.model.AsyncJerseyResponse;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.util.CollectionUtil;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollections.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollections.java
index 2f08a7323ac..4b54b86ae81 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollections.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollections.java
@@ -19,11 +19,11 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PERM;
+import jakarta.inject.Inject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ListCollectionsApi;
import org.apache.solr.client.api.model.ListCollectionsResponse;
import org.apache.solr.common.cloud.DocCollection;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexes.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexes.java
index ff93b3a2b23..66c919f9648 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexes.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexes.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.handler.admin.api;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.nio.file.Paths;
@@ -25,7 +26,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import javax.inject.Inject;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.IOUtils;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicas.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicas.java
index 4a1e3b657b8..7b4e0a934b4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicas.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicas.java
@@ -24,9 +24,9 @@ import static org.apache.solr.common.params.CommonAdminParams.WAIT_FOR_FINAL_STA
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.MigrateReplicasApi;
import org.apache.solr.client.api.model.MigrateReplicasRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java
index a6ffbdd2f4b..bbcd4cc8de4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java
@@ -23,17 +23,17 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_P
import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM;
import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.SolrDocumentList;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java
index be80062d87a..b620dd430a7 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java
@@ -22,10 +22,10 @@ import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.lang.invoke.MethodHandles;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ReloadCollectionApi;
import org.apache.solr.client.api.model.ReloadCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCore.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCore.java
index 2210d43add1..88d8ecaf7ab 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCore.java
@@ -19,7 +19,7 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.client.api.endpoint.ReloadCoreApi;
import org.apache.solr.client.api.model.ReloadCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollection.java
index 8cec8535a7f..1a6ed3a3946 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollection.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollection.java
@@ -24,9 +24,9 @@ import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.RenameCollectionApi;
import org.apache.solr.client.api.model.RenameCollectionRequestBody;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCore.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCore.java
index 03b96b57659..e94e02890e4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCore.java
@@ -18,7 +18,7 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.client.api.endpoint.RenameCoreApi;
import org.apache.solr.client.api.model.RenameCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNode.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNode.java
index ab597b54038..0e4b98138e7 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNode.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNode.java
@@ -24,9 +24,9 @@ import static org.apache.solr.common.params.CommonAdminParams.WAIT_FOR_FINAL_STA
import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.ReplaceNodeApi;
import org.apache.solr.client.api.model.ReplaceNodeRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java
index b603d8d13f7..5c0dfaf5c27 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java
@@ -38,14 +38,14 @@ import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTIO
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import javax.inject.Inject;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
import org.apache.solr.client.api.model.CreateCollectionRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCore.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCore.java
index 858e42da9f6..3997b1971b4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCore.java
@@ -18,8 +18,8 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
+import jakarta.inject.Inject;
import java.net.URI;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.RestoreCoreApi;
import org.apache.solr.client.api.model.RestoreCoreRequestBody;
import org.apache.solr.client.api.model.SolrJerseyResponse;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SnapshotBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SnapshotBackupAPI.java
index 4002db925c0..e4024b119c5 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/SnapshotBackupAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SnapshotBackupAPI.java
@@ -23,14 +23,14 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PER
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.function.Consumer;
-import javax.inject.Inject;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.SolrException;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCores.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCores.java
index eff87bc3f86..e5a6ea9826e 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCores.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCores.java
@@ -18,7 +18,7 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.client.api.endpoint.SwapCoresApi;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.SwapCoresRequestBody;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
index b506f585673..17f63fa739e 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
@@ -21,9 +21,9 @@ import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP;
import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP;
import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM;
+import jakarta.inject.Inject;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
-import javax.inject.Inject;
import org.apache.solr.client.api.endpoint.SyncShardApi;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.solrj.SolrClient;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCore.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCore.java
index 63fd49a21d3..e9a9db8d05e 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCore.java
@@ -19,7 +19,7 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CORE_EDIT_PERM;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.client.api.endpoint.UnloadCoreApi;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.client.api.model.UnloadCoreRequestBody;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/V2NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/V2NodeLoggingAPI.java
index e89ad6d5a31..a2b97609d0a 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/V2NodeLoggingAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/V2NodeLoggingAPI.java
@@ -19,12 +19,12 @@ package org.apache.solr.handler.admin.api;
import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.List;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.apache.solr.jersey.PermissionName;
import org.apache.solr.logging.LogWatcher;
diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSets.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSets.java
index c3403eb3af8..5f5d28adcfc 100644
--- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSets.java
+++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSets.java
@@ -18,9 +18,9 @@ package org.apache.solr.handler.configsets;
import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM;
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.endpoint.ListConfigsetsApi;
import org.apache.solr.client.api.model.ListConfigsetsResponse;
diff --git a/solr/core/src/java/org/apache/solr/jersey/APIConfigProviderBinder.java b/solr/core/src/java/org/apache/solr/jersey/APIConfigProviderBinder.java
index d17ea7ded13..be77a56cf4a 100644
--- a/solr/core/src/java/org/apache/solr/jersey/APIConfigProviderBinder.java
+++ b/solr/core/src/java/org/apache/solr/jersey/APIConfigProviderBinder.java
@@ -16,7 +16,7 @@
*/
package org.apache.solr.jersey;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
/** Jersey binder for APIConfigProvider */
diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java
index 12e3b5ef017..1b5e0be51a3 100644
--- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java
+++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java
@@ -23,14 +23,14 @@ import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_RESPONSE;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
import java.lang.invoke.MethodHandles;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.handler.RequestHandlerBase;
diff --git a/solr/core/src/java/org/apache/solr/jersey/InjectionFactories.java b/solr/core/src/java/org/apache/solr/jersey/InjectionFactories.java
index 8ba5c45b788..a3d6aa7daba 100644
--- a/solr/core/src/java/org/apache/solr/jersey/InjectionFactories.java
+++ b/solr/core/src/java/org/apache/solr/jersey/InjectionFactories.java
@@ -20,8 +20,8 @@ package org.apache.solr.jersey;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_CORE;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_PARAMS;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
diff --git a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java
index 00cda1f08a9..64e15645635 100644
--- a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java
+++ b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java
@@ -17,16 +17,16 @@
package org.apache.solr.jersey;
-import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE;
+import static jakarta.ws.rs.core.HttpHeaders.CONTENT_TYPE;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
import java.io.IOException;
import java.util.List;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.handler.admin.ZookeeperReadAPI;
import org.apache.solr.handler.api.V2ApiUtils;
@@ -55,7 +55,8 @@ public class MediaTypeOverridingFilter implements ContainerResponseFilter {
// Some endpoints have their own media-type logic and opt out of the overriding behavior this
// filter provides.
- if (EXEMPTED_RESOURCES.contains(resourceInfo.getResourceClass())) {
+ if (resourceInfo.getResourceClass() == null
+ || EXEMPTED_RESOURCES.contains(resourceInfo.getResourceClass())) {
return;
}
diff --git a/solr/core/src/java/org/apache/solr/jersey/MessageBodyReaders.java b/solr/core/src/java/org/apache/solr/jersey/MessageBodyReaders.java
index d11708a9af7..3a8f60d84e7 100644
--- a/solr/core/src/java/org/apache/solr/jersey/MessageBodyReaders.java
+++ b/solr/core/src/java/org/apache/solr/jersey/MessageBodyReaders.java
@@ -17,18 +17,19 @@
package org.apache.solr.jersey;
+import com.fasterxml.jackson.core.JsonParser;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
import org.glassfish.hk2.api.ServiceLocator;
import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
@@ -47,7 +48,7 @@ public class MessageBodyReaders {
implements MessageBodyReader<Object> {
@Override
public MessageBodyReader<Object> getDelegate() {
- return new JacksonJsonProvider();
+ return new JacksonJsonProvider().configure(JsonParser.Feature.ALLOW_COMMENTS, true);
}
}
diff --git a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java
index 49fd716d09f..d2020f4dc6a 100644
--- a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java
+++ b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java
@@ -22,18 +22,18 @@ import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_RESPONSE;
import static org.apache.solr.response.QueryResponseWriter.CONTENT_TYPE_TEXT_UTF8;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
import org.apache.solr.handler.api.V2ApiUtils;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.BinaryResponseWriter;
diff --git a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java
index 36e4ab0a407..56aa1684d54 100644
--- a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java
+++ b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java
@@ -21,12 +21,12 @@ import static org.apache.solr.jersey.CatchAllExceptionMapper.processAndRespondTo
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_RESPONSE;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
import org.apache.solr.api.V2HttpCall;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java
index 43215fefa42..53f9e8b880b 100644
--- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java
+++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java
@@ -20,12 +20,12 @@ package org.apache.solr.jersey;
import static org.apache.solr.jersey.PostRequestDecorationFilter.PRIORITY;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java
index a7a6632fa65..0840618bbe3 100644
--- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java
+++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java
@@ -22,6 +22,14 @@ import static org.apache.solr.jersey.MessageBodyReaders.CachingDelegatingMessage
import static org.apache.solr.jersey.PostRequestLoggingFilter.PRIORITY;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
@@ -30,14 +38,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.annotation.Priority;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MultivaluedMap;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.util.CollectionUtil;
import org.apache.solr.common.util.StrUtils;
diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java
index bf28cc0db71..23defb0db0e 100644
--- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java
+++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java
@@ -18,9 +18,9 @@
package org.apache.solr.jersey;
import com.codahale.metrics.Timer;
+import jakarta.ws.rs.container.ContainerRequestContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.container.ContainerRequestContext;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.core.CoreContainer;
@@ -35,7 +35,7 @@ import org.apache.solr.security.AuthorizationContext;
* Keys used to store and retrieve values from the Jersey request context.
*
* <p>Properties are generally set in V2HttpCall's 'invokeJerseyRequest' and retrieved in individual
- * {@link javax.ws.rs.container.ContainerRequestFilter}s using {@link
+ * {@link jakarta.ws.rs.container.ContainerRequestFilter}s using {@link
* ContainerRequestContext#getProperty(String)}
*/
public interface RequestContextKeys {
diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java
index c50bb53d37c..830c78d38b0 100644
--- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java
+++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java
@@ -22,14 +22,14 @@ import static org.apache.solr.jersey.RequestContextKeys.SOLR_QUERY_REQUEST;
import static org.apache.solr.jersey.RequestContextKeys.TIMER;
import com.codahale.metrics.Timer;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
import org.apache.solr.client.api.model.SolrJerseyResponse;
import org.apache.solr.core.PluginBag;
import org.apache.solr.handler.RequestHandlerBase;
diff --git a/solr/core/src/java/org/apache/solr/jersey/SolrJacksonMapper.java b/solr/core/src/java/org/apache/solr/jersey/SolrJacksonMapper.java
index 77b4ca51105..b3444070701 100644
--- a/solr/core/src/java/org/apache/solr/jersey/SolrJacksonMapper.java
+++ b/solr/core/src/java/org/apache/solr/jersey/SolrJacksonMapper.java
@@ -23,9 +23,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
import org.apache.solr.common.util.NamedList;
/** Customizes the ObjectMapper settings used for serialization/deserialization in Jersey */
diff --git a/solr/core/src/java/org/apache/solr/jersey/SolrRequestAuthorizer.java b/solr/core/src/java/org/apache/solr/jersey/SolrRequestAuthorizer.java
index 362ad511057..06e62e4f463 100644
--- a/solr/core/src/java/org/apache/solr/jersey/SolrRequestAuthorizer.java
+++ b/solr/core/src/java/org/apache/solr/jersey/SolrRequestAuthorizer.java
@@ -17,17 +17,17 @@
package org.apache.solr.jersey;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.security.AuthorizationContext;
diff --git a/solr/core/src/java/org/apache/solr/jersey/container/ContainerRequestUtils.java b/solr/core/src/java/org/apache/solr/jersey/container/ContainerRequestUtils.java
index 7f43820316d..a58795ed5ea 100644
--- a/solr/core/src/java/org/apache/solr/jersey/container/ContainerRequestUtils.java
+++ b/solr/core/src/java/org/apache/solr/jersey/container/ContainerRequestUtils.java
@@ -17,14 +17,14 @@
package org.apache.solr.jersey.container;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.SecurityContext;
import java.net.URI;
import java.net.URISyntaxException;
import java.security.Principal;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.SecurityContext;
import org.glassfish.jersey.internal.MapPropertiesDelegate;
import org.glassfish.jersey.server.ContainerRequest;
import org.glassfish.jersey.server.internal.ContainerUtils;
diff --git a/solr/core/src/java/org/apache/solr/jersey/container/JettyBridgeResponseWriter.java b/solr/core/src/java/org/apache/solr/jersey/container/JettyBridgeResponseWriter.java
index d80e9623151..a93a2104dce 100644
--- a/solr/core/src/java/org/apache/solr/jersey/container/JettyBridgeResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/jersey/container/JettyBridgeResponseWriter.java
@@ -54,7 +54,7 @@ public class JettyBridgeResponseWriter implements ContainerResponseWriter {
@Override
public OutputStream writeResponseStatusAndHeaders(
final long contentLength, final ContainerResponse context) throws ContainerException {
- final javax.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
+ final jakarta.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
httpServletResponse.setStatus(statusInfo.getStatusCode());
if (contentLength != -1 && contentLength < Integer.MAX_VALUE) {
diff --git a/solr/core/src/java/org/apache/solr/security/GetPublicKey.java b/solr/core/src/java/org/apache/solr/security/GetPublicKey.java
index 1f7e991667d..91557b63f1b 100644
--- a/solr/core/src/java/org/apache/solr/security/GetPublicKey.java
+++ b/solr/core/src/java/org/apache/solr/security/GetPublicKey.java
@@ -17,7 +17,7 @@
package org.apache.solr.security;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.solr.api.JerseyResource;
import org.apache.solr.client.api.endpoint.GetPublicKeyApi;
import org.apache.solr.client.api.model.PublicKeyResponse;
diff --git a/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java b/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java
index 1d1110340e8..920c7784307 100644
--- a/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java
+++ b/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java
@@ -20,8 +20,8 @@ package org.apache.solr.api;
import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE;
import static org.apache.solr.jersey.container.ContainerRequestUtils.DEFAULT_SECURITY_CONTEXT;
+import jakarta.ws.rs.container.ContainerRequestContext;
import java.net.URI;
-import javax.ws.rs.container.ContainerRequestContext;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.api.model.SchemaNameResponse;
import org.glassfish.jersey.internal.MapPropertiesDelegate;
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/NodeLoggingAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/NodeLoggingAPITest.java
index 77d5567703d..3a3e7c32707 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/api/NodeLoggingAPITest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/api/NodeLoggingAPITest.java
@@ -18,13 +18,7 @@
package org.apache.solr.handler.admin.api;
import static org.apache.solr.SolrTestCaseJ4.assumeWorkingMockito;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
@@ -32,27 +26,20 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.List;
-import javax.inject.Singleton;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import org.apache.solr.SolrTestCase;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.core.CoreContainer;
-import org.apache.solr.jersey.InjectionFactories;
-import org.apache.solr.jersey.SolrJacksonMapper;
import org.apache.solr.logging.LogWatcher;
import org.apache.solr.logging.LoggerInfo;
-import org.glassfish.hk2.utilities.binding.AbstractBinder;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
+import org.hamcrest.MatcherAssert;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/** Unit tests for the functionality offered in {@link NodeLoggingAPI} */
@SuppressWarnings({"unchecked", "rawtypes"})
-public class NodeLoggingAPITest extends JerseyTest {
+public class NodeLoggingAPITest extends SolrTestCase {
private CoreContainer mockCoreContainer;
private LogWatcher mockLogWatcher;
@@ -62,27 +49,8 @@ public class NodeLoggingAPITest extends JerseyTest {
assumeWorkingMockito();
}
- @Override
- protected Application configure() {
- forceSet(TestProperties.CONTAINER_PORT, "0");
- setUpMocks();
- final ResourceConfig config = new ResourceConfig();
- config.register(NodeLoggingAPI.class);
- config.register(SolrJacksonMapper.class);
- config.register(
- new AbstractBinder() {
- @Override
- protected void configure() {
- bindFactory(new InjectionFactories.SingletonFactory<>(mockCoreContainer))
- .to(CoreContainer.class)
- .in(Singleton.class);
- }
- });
-
- return config;
- }
-
- private void setUpMocks() {
+ @Before
+ public void setUpMocks() {
mockCoreContainer = mock(CoreContainer.class);
mockLogWatcher = mock(LogWatcher.class);
when(mockCoreContainer.getLogging()).thenReturn(mockLogWatcher);
@@ -94,11 +62,11 @@ public class NodeLoggingAPITest extends JerseyTest {
.thenReturn(List.of("ERROR", "WARN", "INFO", "DEBUG", "TRACE"));
when(mockLogWatcher.getAllLoggers())
.thenReturn(List.of(logInfo("org.a.s.Foo", "WARN", true), logInfo("org", null, false)));
- final Response response = target("/node/logging/levels").request().get();
- final var responseBody = response.readEntity(NodeLoggingAPI.ListLevelsResponse.class);
+ final var responseBody = new NodeLoggingAPI(mockCoreContainer).listAllLoggersAndLevels();
assertEquals(5, responseBody.levels.size());
- assertThat(responseBody.levels, containsInAnyOrder("ERROR", "WARN", "INFO", "DEBUG", "TRACE"));
+ MatcherAssert.assertThat(
+ responseBody.levels, containsInAnyOrder("ERROR", "WARN", "INFO", "DEBUG", "TRACE"));
assertEquals(2, responseBody.loggers.size());
final var firstLogger = responseBody.loggers.get(0);
@@ -113,11 +81,9 @@ public class NodeLoggingAPITest extends JerseyTest {
@Test
public void testReliesOnLogWatcherToModifyLogLevels() {
- final Response response =
- target("/node/logging/levels")
- .request()
- .put(Entity.json("[{\"logger\": \"o.a.s.Foo\", \"level\": \"WARN\"}]"));
- final var responseBody = response.readEntity(NodeLoggingAPI.LoggingResponse.class);
+ final var responseBody =
+ new NodeLoggingAPI(mockCoreContainer)
+ .modifyLocalLogLevel(List.of(new NodeLoggingAPI.LogLevelChange("o.a.s.Foo", "WARN")));
assertNotNull(responseBody);
assertNull("Expected error to be null but was " + responseBody.error, responseBody.error);
@@ -141,8 +107,7 @@ public class NodeLoggingAPITest extends JerseyTest {
when(mockLogWatcher.getLastEvent()).thenReturn(123456L);
when(mockLogWatcher.getHistorySize()).thenReturn(321);
- final var response = target("/node/logging/messages").queryParam("since", 123L).request().get();
- final var responseBody = response.readEntity(NodeLoggingAPI.LogMessagesResponse.class);
+ final var responseBody = new NodeLoggingAPI(mockCoreContainer).fetchLocalLogMessages(123L);
assertNotNull(responseBody);
assertNull("Expected error to be null but was " + responseBody.error, responseBody.error);
@@ -157,11 +122,9 @@ public class NodeLoggingAPITest extends JerseyTest {
@Test
public void testReliesOnLogWatcherToSetMessageThreshold() {
- final var response =
- target("/node/logging/messages/threshold")
- .request()
- .put(Entity.json("{\"level\": \"WARN\"}"));
- final var responseBody = response.readEntity(NodeLoggingAPI.LoggingResponse.class);
+ final var responseBody =
+ new NodeLoggingAPI(mockCoreContainer)
+ .setMessageThreshold(new NodeLoggingAPI.SetThresholdRequestBody("WARN"));
assertNotNull(responseBody);
assertNull("Expected error to be null but was " + responseBody.error, responseBody.error);
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/SnapshotBackupAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/SnapshotBackupAPITest.java
index 84bba8148b0..dee50c1ebcb 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/api/SnapshotBackupAPITest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/api/SnapshotBackupAPITest.java
@@ -17,93 +17,64 @@
package org.apache.solr.handler.admin.api;
import static org.apache.solr.SolrTestCaseJ4.assumeWorkingMockito;
-import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import java.io.IOException;
+import jakarta.inject.Inject;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
-import javax.inject.Inject;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import org.apache.solr.SolrTestCase;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
import org.apache.solr.handler.ReplicationHandler.ReplicationHandlerConfig;
-import org.apache.solr.jersey.InjectionFactories;
-import org.apache.solr.jersey.SolrJacksonMapper;
-import org.glassfish.hk2.utilities.binding.AbstractBinder;
-import org.glassfish.jersey.process.internal.RequestScoped;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/** Unit tests for {@link SnapshotBackupAPI}. */
-public class SnapshotBackupAPITest extends JerseyTest {
+public class SnapshotBackupAPITest extends SolrTestCase {
private SolrCore solrCore;
private ReplicationHandlerConfig replicationHandlerConfig;
+ private SnapshotBackupAPI snapshotBackupApi;
@BeforeClass
public static void ensureWorkingMockito() {
assumeWorkingMockito();
}
- @Override
- protected Application configure() {
+ @Before
+ public void setupMocks() {
resetMocks();
- final ResourceConfig config = new ResourceConfig();
- config.register(TestSnapshotBackupAPI.class);
- config.register(SolrJacksonMapper.class);
- config.register(SolrExceptionTestMapper.class);
- config.register(
- new AbstractBinder() {
- @Override
- protected void configure() {
- bindFactory(new InjectionFactories.SingletonFactory<>(solrCore))
- .to(SolrCore.class)
- .in(RequestScoped.class);
- }
- });
- config.register(
- new AbstractBinder() {
- @Override
- protected void configure() {
- bindFactory(new InjectionFactories.SingletonFactory<>(replicationHandlerConfig))
- .to(ReplicationHandlerConfig.class)
- .in(RequestScoped.class);
- }
- });
- return config;
+ snapshotBackupApi = new SnapshotBackupAPI(solrCore, replicationHandlerConfig);
}
@Test
public void testMissingBody() throws Exception {
- final Response response = target("/cores/demo/replication/backups").request().post(null);
- var status = response.getStatusInfo();
- assertEquals(400, status.getStatusCode());
- assertEquals("Required request-body is missing", status.getReasonPhrase());
+ final SolrException expected =
+ expectThrows(
+ SolrException.class,
+ () -> {
+ snapshotBackupApi.createBackup(null);
+ });
+ assertEquals(400, expected.code());
+ assertEquals("Required request-body is missing", expected.getMessage());
}
@Test
public void testSuccessfulBackupCommand() throws Exception {
- int numberToKeep = 7;
- int numberBackupsToKeep = 11;
+ when(replicationHandlerConfig.getNumberBackupsToKeep()).thenReturn(11);
+ final var backupRequestBody = new SnapshotBackupAPI.BackupReplicationRequestBody();
+ backupRequestBody.name = "test";
+ backupRequestBody.numberToKeep = 7;
- when(replicationHandlerConfig.getNumberBackupsToKeep()).thenReturn(numberBackupsToKeep);
- final Response response =
- target("/cores/demo/replication/backups")
- .request()
- .post(Entity.json("{\"name\": \"test\", \"numberToKeep\": " + numberToKeep + "}"));
- System.err.println("RESP " + response);
+ final var responseBody =
+ new TrackingSnapshotBackupAPI(solrCore, replicationHandlerConfig)
+ .createBackup(backupRequestBody);
- assertEquals(numberToKeep, TestSnapshotBackupAPI.numberToKeep.get());
- assertEquals(numberBackupsToKeep, TestSnapshotBackupAPI.numberBackupsToKeep.get());
- assertEquals(200, response.getStatus());
+ assertEquals(7, TrackingSnapshotBackupAPI.numberToKeep.get());
+ assertEquals(11, TrackingSnapshotBackupAPI.numberBackupsToKeep.get());
}
private void resetMocks() {
@@ -112,20 +83,13 @@ public class SnapshotBackupAPITest extends JerseyTest {
when(replicationHandlerConfig.getNumberBackupsToKeep()).thenReturn(5);
}
- public static class SolrExceptionTestMapper implements ExceptionMapper<SolrException> {
- @Override
- public Response toResponse(SolrException e) {
- return Response.status(e.code(), e.getMessage()).build();
- }
- }
-
- private static class TestSnapshotBackupAPI extends SnapshotBackupAPI {
+ private static class TrackingSnapshotBackupAPI extends SnapshotBackupAPI {
private static final AtomicInteger numberToKeep = new AtomicInteger();
private static final AtomicInteger numberBackupsToKeep = new AtomicInteger();
@Inject
- public TestSnapshotBackupAPI(
+ public TrackingSnapshotBackupAPI(
SolrCore solrCore, ReplicationHandlerConfig replicationHandlerConfig) {
super(solrCore, replicationHandlerConfig);
}
@@ -139,10 +103,9 @@ public class SnapshotBackupAPITest extends JerseyTest {
String commitName,
String name,
SolrCore solrCore,
- Consumer<NamedList<?>> resultConsumer)
- throws IOException {
- TestSnapshotBackupAPI.numberToKeep.set(numberToKeep);
- TestSnapshotBackupAPI.numberBackupsToKeep.set(numberBackupsToKeep);
+ Consumer<NamedList<?>> resultConsumer) {
+ TrackingSnapshotBackupAPI.numberToKeep.set(numberToKeep);
+ TrackingSnapshotBackupAPI.numberBackupsToKeep.set(numberBackupsToKeep);
}
}
}
diff --git a/solr/core/src/test/org/apache/solr/handler/configsets/ListConfigSetsAPITest.java b/solr/core/src/test/org/apache/solr/handler/configsets/ListConfigSetsAPITest.java
index a0cf41622cd..40100be48ac 100644
--- a/solr/core/src/test/org/apache/solr/handler/configsets/ListConfigSetsAPITest.java
+++ b/solr/core/src/test/org/apache/solr/handler/configsets/ListConfigSetsAPITest.java
@@ -18,39 +18,23 @@
package org.apache.solr.handler.configsets;
import static org.apache.solr.SolrTestCaseJ4.assumeWorkingMockito;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.List;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import org.apache.solr.SolrTestCase;
import org.apache.solr.client.api.model.ListConfigsetsResponse;
import org.apache.solr.client.solrj.response.ConfigSetAdminResponse;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.ConfigSetService;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.handler.api.V2ApiUtils;
-import org.apache.solr.jersey.InjectionFactories;
-import org.apache.solr.jersey.SolrJacksonMapper;
-import org.glassfish.hk2.utilities.binding.AbstractBinder;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-/**
- * Unit tests for {@link ListConfigSets}.
- *
- * <p>Serves primarily as a model and example of how to write unit tests using Jersey's test
- * framework.
- */
-public class ListConfigSetsAPITest extends JerseyTest {
+/** Unit tests for {@link ListConfigSets}. */
+public class ListConfigSetsAPITest extends SolrTestCase {
private CoreContainer mockCoreContainer;
@@ -59,60 +43,18 @@ public class ListConfigSetsAPITest extends JerseyTest {
assumeWorkingMockito();
}
- @Override
- protected Application configure() {
- forceSet(TestProperties.CONTAINER_PORT, "0");
- resetMocks();
- final ResourceConfig config = new ResourceConfig();
- config.register(ListConfigSets.class);
- config.register(SolrJacksonMapper.class);
- config.register(
- new AbstractBinder() {
- @Override
- protected void configure() {
- bindFactory(new InjectionFactories.SingletonFactory<>(mockCoreContainer))
- .to(CoreContainer.class)
- .in(Singleton.class);
- }
- });
-
- return config;
- }
-
- private void resetMocks() {
+ @Before
+ public void clearMocks() {
mockCoreContainer = mock(CoreContainer.class);
}
@Test
- public void testSuccessfulListConfigsetsRaw() throws Exception {
- final String expectedJson =
- "{\"responseHeader\":{\"status\":0,\"QTime\":0},\"configSets\":[\"cs1\",\"cs2\"]}";
- final ConfigSetService configSetService = mock(ConfigSetService.class);
- when(mockCoreContainer.getConfigSetService()).thenReturn(configSetService);
- when(configSetService.listConfigs()).thenReturn(List.of("cs1", "cs2"));
-
- final Response response = target("/cluster/configs").request("application/json").get();
- final String jsonBody = response.readEntity(String.class);
-
- assertEquals(200, response.getStatus());
- assertEquals("application/json", response.getHeaders().getFirst("Content-type"));
- assertEquals(1, 1);
- assertEquals(
- expectedJson,
- "{\"responseHeader\":{\"status\":0,\"QTime\":0},\"configSets\":[\"cs1\",\"cs2\"]}");
- }
-
- @Test
- public void testSuccessfulListConfigsetsTyped() throws Exception {
+ public void testSuccessfulListConfigsets() throws Exception {
final ConfigSetService configSetService = mock(ConfigSetService.class);
when(mockCoreContainer.getConfigSetService()).thenReturn(configSetService);
when(configSetService.listConfigs()).thenReturn(List.of("cs1", "cs2"));
- final var response =
- target("/cluster/configs").request("application/json").get(ListConfigsetsResponse.class);
-
- assertNotNull(response.configSets);
- assertNull(response.error);
+ final var response = new ListConfigSets(mockCoreContainer).listConfigSet();
assertEquals(2, response.configSets.size());
assertTrue(response.configSets.contains("cs1"));
assertTrue(response.configSets.contains("cs2"));
@@ -133,8 +75,7 @@ public class ListConfigSetsAPITest extends JerseyTest {
when(mockCoreContainer.getConfigSetService()).thenReturn(configSetService);
when(configSetService.listConfigs()).thenReturn(List.of("cs1", "cs2"));
- final var response =
- target("/cluster/configs").request("application/json").get(ListConfigsetsResponse.class);
+ final var response = new ListConfigSets(mockCoreContainer).listConfigSet();
final NamedList<Object> squashedResponse = new NamedList<>();
V2ApiUtils.squashIntoNamedList(squashedResponse, response);
final ConfigSetAdminResponse.List solrjResponse = new ConfigSetAdminResponse.List();
diff --git a/solr/core/src/test/org/apache/solr/jersey/PostRequestLoggingFilterTest.java b/solr/core/src/test/org/apache/solr/jersey/PostRequestLoggingFilterTest.java
index 985085b7829..54d44fd80be 100644
--- a/solr/core/src/test/org/apache/solr/jersey/PostRequestLoggingFilterTest.java
+++ b/solr/core/src/test/org/apache/solr/jersey/PostRequestLoggingFilterTest.java
@@ -21,10 +21,10 @@ import static org.apache.solr.jersey.MessageBodyReaders.CachingDelegatingMessage
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.UriInfo;
import java.util.List;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.UriInfo;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.api.model.CreateReplicaRequestBody;
import org.junit.BeforeClass;
diff --git a/solr/licenses/aopalliance-repackaged-2.6.1.jar.sha1 b/solr/licenses/aopalliance-repackaged-2.6.1.jar.sha1
deleted file mode 100644
index a8b67dd6e8f..00000000000
--- a/solr/licenses/aopalliance-repackaged-2.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b2eb0a83bcbb44cc5d25f8b18f23be116313a638
diff --git a/solr/licenses/aopalliance-repackaged-3.0.5.jar.sha1 b/solr/licenses/aopalliance-repackaged-3.0.5.jar.sha1
new file mode 100644
index 00000000000..4d0c1fa8b04
--- /dev/null
+++ b/solr/licenses/aopalliance-repackaged-3.0.5.jar.sha1
@@ -0,0 +1 @@
+6a77d3f22a1423322226bff412177addc936b38f
diff --git a/solr/licenses/bcutil-jdk18on-NOTICE.txt b/solr/licenses/bcutil-jdk18on-NOTICE.txt
deleted file mode 100644
index be0638a2ba8..00000000000
--- a/solr/licenses/bcutil-jdk18on-NOTICE.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Copyright (c) 2000-2006 The Legion Of The Bouncy Castle
-(http://www.bouncycastle.org)
diff --git a/solr/licenses/grizzly-framework-2.4.4.jar.sha1 b/solr/licenses/grizzly-framework-2.4.4.jar.sha1
deleted file mode 100644
index af5db46c48c..00000000000
--- a/solr/licenses/grizzly-framework-2.4.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-85ff29df39616972a074737948f116ef25addfee
diff --git a/solr/licenses/grizzly-framework-LICENSE-EPL.txt b/solr/licenses/grizzly-framework-LICENSE-EPL.txt
deleted file mode 100644
index bda7db00c56..00000000000
--- a/solr/licenses/grizzly-framework-LICENSE-EPL.txt
+++ /dev/null
@@ -1,277 +0,0 @@
-# Eclipse Public License - v 2.0
-
- THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
- 1. DEFINITIONS
-
- "Contribution" means:
-
- a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
-
- b) in the case of each subsequent Contributor:
- i) changes to the Program, and
- ii) additions to the Program;
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- "originates" from a Contributor if it was added to the Program by
- such Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
-
- "Contributor" means any person or entity that Distributes the Program.
-
- "Licensed Patents" mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
-
- "Program" means the Contributions Distributed in accordance with this
- Agreement.
-
- "Recipient" means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
-
- "Derivative Works" shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
-
- "Modified Works" shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations,
- interfaces, types, classes, structures, or files of the Program solely
- in each case in order to link to, bind by name, or subclass the Program
- or Modified Works thereof.
-
- "Distribute" means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
-
- "Source Code" means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
-
- "Secondary License" means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
-
- 2. GRANT OF RIGHTS
-
- a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
-
- b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if, at
- the time the Contribution is added by the Contributor, such addition
- of the Contribution causes such combination to be covered by the
- Licensed Patents. The patent license shall not apply to any other
- combinations which include the Contribution. No hardware per se is
- licensed hereunder.
-
- c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the
- rights and licenses granted hereunder, each Recipient hereby
- assumes sole responsibility to secure any other intellectual
- property rights needed, if any. For example, if a third party
- patent license is required to allow Recipient to Distribute the
- Program, it is Recipient's responsibility to acquire that license
- before distributing the Program.
-
- d) Each Contributor represents that to its knowledge it has
- sufficient copyright rights in its Contribution, if any, to grant
- the copyright license set forth in this Agreement.
-
- e) Notwithstanding the terms of any Secondary License, no
- Contributor makes additional grants to any Recipient (other than
- those set forth in this Agreement) as a result of such Recipient's
- receipt of the Program under the terms of a Secondary License
- (if permitted under the terms of Section 3).
-
- 3. REQUIREMENTS
-
- 3.1 If a Contributor Distributes the Program in any form, then:
-
- a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
-
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including
- warranties or conditions of title and non-infringement, and
- implied warranties or conditions of merchantability and fitness
- for a particular purpose;
-
- ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special,
- incidental and consequential damages, such as lost profits;
-
- iii) does not attempt to limit or alter the recipients' rights
- in the Source Code under section 3.2; and
-
- iv) requires any subsequent distribution of the Program by any
- party to be under a license that satisfies the requirements
- of this section 3.
-
- 3.2 When the Program is Distributed as Source Code:
-
- a) it must be made available under this Agreement, or if the
- Program (i) is combined with other material in a separate file or
- files made available under a Secondary License, and (ii) the initial
- Contributor attached to the Source Code the notice described in
- Exhibit A of this Agreement, then the Program may be made available
- under the terms of such Secondary Licenses, and
-
- b) a copy of this Agreement must be included with each copy of
- the Program.
-
- 3.3 Contributors may not remove or alter any copyright, patent,
- trademark, attribution notices, disclaimers of warranty, or limitations
- of liability ("notices") contained within the Program from any copy of
- the Program which they Distribute, provided that Contributors may add
- their own appropriate notices.
-
- 4. COMMERCIAL DISTRIBUTION
-
- Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program,
- the Contributor who includes the Program in a commercial product
- offering should do so in a manner which does not create potential
- liability for other Contributors. Therefore, if a Contributor includes
- the Program in a commercial product offering, such Contributor
- ("Commercial Contributor") hereby agrees to defend and indemnify every
- other Contributor ("Indemnified Contributor") against any losses,
- damages and costs (collectively "Losses") arising from claims, lawsuits
- and other legal actions brought by a third party against the Indemnified
- Contributor to the extent caused by the acts or omissions of such
- Commercial Contributor in connection with its distribution of the Program
- in a commercial product offering. The obligations in this section do not
- apply to any claims or Losses relating to any actual or alleged
- intellectual property infringement. In order to qualify, an Indemnified
- Contributor must: a) promptly notify the Commercial Contributor in
- writing of such claim, and b) allow the Commercial Contributor to control,
- and cooperate with the Commercial Contributor in, the defense and any
- related settlement negotiations. The Indemnified Contributor may
- participate in any such claim at its own expense.
-
- For example, a Contributor might include the Program in a commercial
- product offering, Product X. That Contributor is then a Commercial
- Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance
- claims and warranties are such Commercial Contributor's responsibility
- alone. Under this section, the Commercial Contributor would have to
- defend claims against the other Contributors related to those performance
- claims and warranties, and if a court requires any other Contributor to
- pay any damages as a result, the Commercial Contributor must pay
- those damages.
-
- 5. NO WARRANTY
-
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
- PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
- BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
- IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
- TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
- PURPOSE. Each Recipient is solely responsible for determining the
- appropriateness of using and distributing the Program and assumes all
- risks associated with its exercise of rights under this Agreement,
- including but not limited to the risks and costs of program errors,
- compliance with applicable laws, damage to or loss of data, programs
- or equipment, and unavailability or interruption of operations.
-
- 6. DISCLAIMER OF LIABILITY
-
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
- PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
- SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
- PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
- EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
-
- 7. GENERAL
-
- If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of
- the remainder of the terms of this Agreement, and without further
- action by the parties hereto, such provision shall be reformed to the
- minimum extent necessary to make such provision valid and enforceable.
-
- If Recipient institutes patent litigation against any entity
- (including a cross-claim or counterclaim in a lawsuit) alleging that the
- Program itself (excluding combinations of the Program with other software
- or hardware) infringes such Recipient's patent(s), then such Recipient's
- rights granted under Section 2(b) shall terminate as of the date such
- litigation is filed.
-
- All Recipient's rights under this Agreement shall terminate if it
- fails to comply with any of the material terms or conditions of this
- Agreement and does not cure such failure in a reasonable period of
- time after becoming aware of such noncompliance. If all Recipient's
- rights under this Agreement terminate, Recipient agrees to cease use
- and distribution of the Program as soon as reasonably practicable.
- However, Recipient's obligations under this Agreement and any licenses
- granted by Recipient relating to the Program shall continue and survive.
-
- Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and
- may only be modified in the following manner. The Agreement Steward
- reserves the right to publish new versions (including revisions) of
- this Agreement from time to time. No one other than the Agreement
- Steward has the right to modify this Agreement. The Eclipse Foundation
- is the initial Agreement Steward. The Eclipse Foundation may assign the
- responsibility to serve as the Agreement Steward to a suitable separate
- entity. Each new version of the Agreement will be given a distinguishing
- version number. The Program (including Contributions) may always be
- Distributed subject to the version of the Agreement under which it was
- received. In addition, after a new version of the Agreement is published,
- Contributor may elect to Distribute the Program (including its
- Contributions) under the new version.
-
- Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
-
- Exhibit A - Form of Secondary Licenses Notice
-
- "This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}."
-
- Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
-
- If it is not possible or desirable to put the notice in a particular
- file, then You may include the notice in a location (such as a LICENSE
- file in a relevant directory) where a recipient would be likely to
- look for such a notice.
-
- You may add additional accurate notices of copyright ownership.
diff --git a/solr/licenses/grizzly-http-2.4.4.jar.sha1 b/solr/licenses/grizzly-http-2.4.4.jar.sha1
deleted file mode 100644
index 0b7c126c5af..00000000000
--- a/solr/licenses/grizzly-http-2.4.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c789d449906458d4174126f6a4fefdd7a6008777
diff --git a/solr/licenses/grizzly-http-LICENSE-EPL.txt b/solr/licenses/grizzly-http-LICENSE-EPL.txt
deleted file mode 100644
index bda7db00c56..00000000000
--- a/solr/licenses/grizzly-http-LICENSE-EPL.txt
+++ /dev/null
@@ -1,277 +0,0 @@
-# Eclipse Public License - v 2.0
-
- THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
- 1. DEFINITIONS
-
- "Contribution" means:
-
- a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
-
- b) in the case of each subsequent Contributor:
- i) changes to the Program, and
- ii) additions to the Program;
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- "originates" from a Contributor if it was added to the Program by
- such Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
-
- "Contributor" means any person or entity that Distributes the Program.
-
- "Licensed Patents" mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
-
- "Program" means the Contributions Distributed in accordance with this
- Agreement.
-
- "Recipient" means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
-
- "Derivative Works" shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
-
- "Modified Works" shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations,
- interfaces, types, classes, structures, or files of the Program solely
- in each case in order to link to, bind by name, or subclass the Program
- or Modified Works thereof.
-
- "Distribute" means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
-
- "Source Code" means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
-
- "Secondary License" means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
-
- 2. GRANT OF RIGHTS
-
- a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
-
- b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if, at
- the time the Contribution is added by the Contributor, such addition
- of the Contribution causes such combination to be covered by the
- Licensed Patents. The patent license shall not apply to any other
- combinations which include the Contribution. No hardware per se is
- licensed hereunder.
-
- c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the
- rights and licenses granted hereunder, each Recipient hereby
- assumes sole responsibility to secure any other intellectual
- property rights needed, if any. For example, if a third party
- patent license is required to allow Recipient to Distribute the
- Program, it is Recipient's responsibility to acquire that license
- before distributing the Program.
-
- d) Each Contributor represents that to its knowledge it has
- sufficient copyright rights in its Contribution, if any, to grant
- the copyright license set forth in this Agreement.
-
- e) Notwithstanding the terms of any Secondary License, no
- Contributor makes additional grants to any Recipient (other than
- those set forth in this Agreement) as a result of such Recipient's
- receipt of the Program under the terms of a Secondary License
- (if permitted under the terms of Section 3).
-
- 3. REQUIREMENTS
-
- 3.1 If a Contributor Distributes the Program in any form, then:
-
- a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
-
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including
- warranties or conditions of title and non-infringement, and
- implied warranties or conditions of merchantability and fitness
- for a particular purpose;
-
- ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special,
- incidental and consequential damages, such as lost profits;
-
- iii) does not attempt to limit or alter the recipients' rights
- in the Source Code under section 3.2; and
-
- iv) requires any subsequent distribution of the Program by any
- party to be under a license that satisfies the requirements
- of this section 3.
-
- 3.2 When the Program is Distributed as Source Code:
-
- a) it must be made available under this Agreement, or if the
- Program (i) is combined with other material in a separate file or
- files made available under a Secondary License, and (ii) the initial
- Contributor attached to the Source Code the notice described in
- Exhibit A of this Agreement, then the Program may be made available
- under the terms of such Secondary Licenses, and
-
- b) a copy of this Agreement must be included with each copy of
- the Program.
-
- 3.3 Contributors may not remove or alter any copyright, patent,
- trademark, attribution notices, disclaimers of warranty, or limitations
- of liability ("notices") contained within the Program from any copy of
- the Program which they Distribute, provided that Contributors may add
- their own appropriate notices.
-
- 4. COMMERCIAL DISTRIBUTION
-
- Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program,
- the Contributor who includes the Program in a commercial product
- offering should do so in a manner which does not create potential
- liability for other Contributors. Therefore, if a Contributor includes
- the Program in a commercial product offering, such Contributor
- ("Commercial Contributor") hereby agrees to defend and indemnify every
- other Contributor ("Indemnified Contributor") against any losses,
- damages and costs (collectively "Losses") arising from claims, lawsuits
- and other legal actions brought by a third party against the Indemnified
- Contributor to the extent caused by the acts or omissions of such
- Commercial Contributor in connection with its distribution of the Program
- in a commercial product offering. The obligations in this section do not
- apply to any claims or Losses relating to any actual or alleged
- intellectual property infringement. In order to qualify, an Indemnified
- Contributor must: a) promptly notify the Commercial Contributor in
- writing of such claim, and b) allow the Commercial Contributor to control,
- and cooperate with the Commercial Contributor in, the defense and any
- related settlement negotiations. The Indemnified Contributor may
- participate in any such claim at its own expense.
-
- For example, a Contributor might include the Program in a commercial
- product offering, Product X. That Contributor is then a Commercial
- Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance
- claims and warranties are such Commercial Contributor's responsibility
- alone. Under this section, the Commercial Contributor would have to
- defend claims against the other Contributors related to those performance
- claims and warranties, and if a court requires any other Contributor to
- pay any damages as a result, the Commercial Contributor must pay
- those damages.
-
- 5. NO WARRANTY
-
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
- PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
- BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
- IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
- TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
- PURPOSE. Each Recipient is solely responsible for determining the
- appropriateness of using and distributing the Program and assumes all
- risks associated with its exercise of rights under this Agreement,
- including but not limited to the risks and costs of program errors,
- compliance with applicable laws, damage to or loss of data, programs
- or equipment, and unavailability or interruption of operations.
-
- 6. DISCLAIMER OF LIABILITY
-
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
- PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
- SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
- PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
- EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
-
- 7. GENERAL
-
- If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of
- the remainder of the terms of this Agreement, and without further
- action by the parties hereto, such provision shall be reformed to the
- minimum extent necessary to make such provision valid and enforceable.
-
- If Recipient institutes patent litigation against any entity
- (including a cross-claim or counterclaim in a lawsuit) alleging that the
- Program itself (excluding combinations of the Program with other software
- or hardware) infringes such Recipient's patent(s), then such Recipient's
- rights granted under Section 2(b) shall terminate as of the date such
- litigation is filed.
-
- All Recipient's rights under this Agreement shall terminate if it
- fails to comply with any of the material terms or conditions of this
- Agreement and does not cure such failure in a reasonable period of
- time after becoming aware of such noncompliance. If all Recipient's
- rights under this Agreement terminate, Recipient agrees to cease use
- and distribution of the Program as soon as reasonably practicable.
- However, Recipient's obligations under this Agreement and any licenses
- granted by Recipient relating to the Program shall continue and survive.
-
- Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and
- may only be modified in the following manner. The Agreement Steward
- reserves the right to publish new versions (including revisions) of
- this Agreement from time to time. No one other than the Agreement
- Steward has the right to modify this Agreement. The Eclipse Foundation
- is the initial Agreement Steward. The Eclipse Foundation may assign the
- responsibility to serve as the Agreement Steward to a suitable separate
- entity. Each new version of the Agreement will be given a distinguishing
- version number. The Program (including Contributions) may always be
- Distributed subject to the version of the Agreement under which it was
- received. In addition, after a new version of the Agreement is published,
- Contributor may elect to Distribute the Program (including its
- Contributions) under the new version.
-
- Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
-
- Exhibit A - Form of Secondary Licenses Notice
-
- "This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}."
-
- Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
-
- If it is not possible or desirable to put the notice in a particular
- file, then You may include the notice in a location (such as a LICENSE
- file in a relevant directory) where a recipient would be likely to
- look for such a notice.
-
- You may add additional accurate notices of copyright ownership.
diff --git a/solr/licenses/grizzly-http-server-2.4.4.jar.sha1 b/solr/licenses/grizzly-http-server-2.4.4.jar.sha1
deleted file mode 100644
index 476fd619312..00000000000
--- a/solr/licenses/grizzly-http-server-2.4.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f9a62c711eb51f351cc5ba48faf44d5a49faa0a7
diff --git a/solr/licenses/grizzly-http-servlet-2.4.4.jar.sha1 b/solr/licenses/grizzly-http-servlet-2.4.4.jar.sha1
deleted file mode 100644
index b4c9a6ea2c4..00000000000
--- a/solr/licenses/grizzly-http-servlet-2.4.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-99aa6d3a5d36c724d9adfce7f1b56ef80b41d40a
diff --git a/solr/licenses/hk2-api-2.6.1.jar.sha1 b/solr/licenses/hk2-api-2.6.1.jar.sha1
deleted file mode 100644
index 454d293297e..00000000000
--- a/solr/licenses/hk2-api-2.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-114bd7afb4a1bd9993527f52a08a252b5d2acac5
diff --git a/solr/licenses/hk2-api-3.0.5.jar.sha1 b/solr/licenses/hk2-api-3.0.5.jar.sha1
new file mode 100644
index 00000000000..b6772427b1b
--- /dev/null
+++ b/solr/licenses/hk2-api-3.0.5.jar.sha1
@@ -0,0 +1 @@
+6774367a6780ea4fedc19425981f1b86762a3506
diff --git a/solr/licenses/hk2-locator-2.6.1.jar.sha1 b/solr/licenses/hk2-locator-2.6.1.jar.sha1
deleted file mode 100644
index c54453c5773..00000000000
--- a/solr/licenses/hk2-locator-2.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-9dedf9d2022e38ec0743ed44c1ac94ad6149acdd
diff --git a/solr/licenses/hk2-locator-3.0.5.jar.sha1 b/solr/licenses/hk2-locator-3.0.5.jar.sha1
new file mode 100644
index 00000000000..56d82c21d36
--- /dev/null
+++ b/solr/licenses/hk2-locator-3.0.5.jar.sha1
@@ -0,0 +1 @@
+ea4a4d2c187dead10c998ebb3c3d6ce5133f5637
diff --git a/solr/licenses/hk2-utils-2.6.1.jar.sha1 b/solr/licenses/hk2-utils-2.6.1.jar.sha1
deleted file mode 100644
index 0e1e0b65338..00000000000
--- a/solr/licenses/hk2-utils-2.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-396513aa96c1d5a10aa4f75c4dcbf259a698d62d
diff --git a/solr/licenses/hk2-utils-3.0.5.jar.sha1 b/solr/licenses/hk2-utils-3.0.5.jar.sha1
new file mode 100644
index 00000000000..3af8b6c96b8
--- /dev/null
+++ b/solr/licenses/hk2-utils-3.0.5.jar.sha1
@@ -0,0 +1 @@
+4d65eff85bd778f66e448be1049be8b9530a028f
diff --git a/solr/licenses/jackson-module-jakarta-xmlbind-annotations-2.16.1.jar.sha1 b/solr/licenses/jackson-module-jakarta-xmlbind-annotations-2.16.1.jar.sha1
new file mode 100644
index 00000000000..d6cfadc2824
--- /dev/null
+++ b/solr/licenses/jackson-module-jakarta-xmlbind-annotations-2.16.1.jar.sha1
@@ -0,0 +1 @@
+314e009bc976d196b66e389068b27b89ccd5ec35
diff --git a/solr/licenses/jackson-module-jaxb-annotations-2.16.1.jar.sha1 b/solr/licenses/jackson-module-jaxb-annotations-2.16.1.jar.sha1
deleted file mode 100644
index 3d5b97bc09b..00000000000
--- a/solr/licenses/jackson-module-jaxb-annotations-2.16.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e9df364a2695e66eb8d2803d6725424842760125
diff --git a/solr/licenses/jakarta.annotation-api-1.3.5.jar.sha1 b/solr/licenses/jakarta.annotation-api-1.3.5.jar.sha1
deleted file mode 100644
index d3dd4d5f43c..00000000000
--- a/solr/licenses/jakarta.annotation-api-1.3.5.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-59eb84ee0d616332ff44aba065f3888cf002cd2d
diff --git a/solr/licenses/jakarta.annotation-api-2.1.1.jar.sha1 b/solr/licenses/jakarta.annotation-api-2.1.1.jar.sha1
new file mode 100644
index 00000000000..a3e6150253d
--- /dev/null
+++ b/solr/licenses/jakarta.annotation-api-2.1.1.jar.sha1
@@ -0,0 +1 @@
+48b9bda22b091b1f48b13af03fe36db3be6e1ae3
diff --git a/solr/licenses/jakarta.inject-api-2.0.1.jar.sha1 b/solr/licenses/jakarta.inject-api-2.0.1.jar.sha1
new file mode 100644
index 00000000000..295f96ab481
--- /dev/null
+++ b/solr/licenses/jakarta.inject-api-2.0.1.jar.sha1
@@ -0,0 +1 @@
+4c28afe1991a941d7702fe1362c365f0a8641d1e
diff --git a/solr/licenses/jakarta.validation-api-2.0.2.jar.sha1 b/solr/licenses/jakarta.validation-api-2.0.2.jar.sha1
deleted file mode 100644
index 02effb6d04d..00000000000
--- a/solr/licenses/jakarta.validation-api-2.0.2.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5eacc6522521f7eacb081f95cee1e231648461e7
diff --git a/solr/licenses/jakarta.validation-api-3.0.2.jar.sha1 b/solr/licenses/jakarta.validation-api-3.0.2.jar.sha1
new file mode 100644
index 00000000000..6d12fea0b16
--- /dev/null
+++ b/solr/licenses/jakarta.validation-api-3.0.2.jar.sha1
@@ -0,0 +1 @@
+92b6631659ba35ca09e44874d3eb936edfeee532
diff --git a/solr/licenses/jakarta.ws.rs-api-2.1.6.jar.sha1 b/solr/licenses/jakarta.ws.rs-api-2.1.6.jar.sha1
deleted file mode 100644
index 3ba0e5da867..00000000000
--- a/solr/licenses/jakarta.ws.rs-api-2.1.6.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1dcb770bce80a490dff49729b99c7a60e9ecb122
diff --git a/solr/licenses/jakarta.ws.rs-api-3.1.0.jar.sha1 b/solr/licenses/jakarta.ws.rs-api-3.1.0.jar.sha1
new file mode 100644
index 00000000000..e6e150b95ce
--- /dev/null
+++ b/solr/licenses/jakarta.ws.rs-api-3.1.0.jar.sha1
@@ -0,0 +1 @@
+15ce10d249a38865b58fc39521f10f29ab0e3363
diff --git a/solr/licenses/javassist-3.29.0-GA.jar.sha1 b/solr/licenses/javassist-3.29.0-GA.jar.sha1
deleted file mode 100644
index fc0df45f52f..00000000000
--- a/solr/licenses/javassist-3.29.0-GA.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d3959fa7e00bf04dbe519228a23213d2afb625d8
diff --git a/solr/licenses/javassist-3.29.2-GA.jar.sha1 b/solr/licenses/javassist-3.29.2-GA.jar.sha1
new file mode 100644
index 00000000000..899154003e6
--- /dev/null
+++ b/solr/licenses/javassist-3.29.2-GA.jar.sha1
@@ -0,0 +1 @@
+6c32028609e5dd4a1b78e10fbcd122b09b3928b1
diff --git a/solr/licenses/jersey-client-2.39.1.jar.sha1 b/solr/licenses/jersey-client-2.39.1.jar.sha1
deleted file mode 100644
index 00277c9f7d1..00000000000
--- a/solr/licenses/jersey-client-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2b1187bf77721c050bf68829918a1b3cd8be904e
diff --git a/solr/licenses/jersey-client-3.1.5.jar.sha1 b/solr/licenses/jersey-client-3.1.5.jar.sha1
new file mode 100644
index 00000000000..507195aaf7c
--- /dev/null
+++ b/solr/licenses/jersey-client-3.1.5.jar.sha1
@@ -0,0 +1 @@
+0015695e853b7583703aff98e543b95fa0ca4553
diff --git a/solr/licenses/jersey-common-2.39.1.jar.sha1 b/solr/licenses/jersey-common-2.39.1.jar.sha1
deleted file mode 100644
index 07ad665cf97..00000000000
--- a/solr/licenses/jersey-common-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-39198bdead74896267646795a7e4b1d86c10e039
diff --git a/solr/licenses/jersey-common-3.1.5.jar.sha1 b/solr/licenses/jersey-common-3.1.5.jar.sha1
new file mode 100644
index 00000000000..a38e8a683bb
--- /dev/null
+++ b/solr/licenses/jersey-common-3.1.5.jar.sha1
@@ -0,0 +1 @@
+7a9edf47631e6588cf24f777f3e7f183d285a9e1
diff --git a/solr/licenses/jersey-container-grizzly2-http-2.39.1.jar.sha1 b/solr/licenses/jersey-container-grizzly2-http-2.39.1.jar.sha1
deleted file mode 100644
index d8007f1b7e5..00000000000
--- a/solr/licenses/jersey-container-grizzly2-http-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b6575a1bd698708332765c71d0c241823ec4fee0
diff --git a/solr/licenses/jersey-container-grizzly2-servlet-2.39.1.jar.sha1 b/solr/licenses/jersey-container-grizzly2-servlet-2.39.1.jar.sha1
deleted file mode 100644
index ad83808cf8a..00000000000
--- a/solr/licenses/jersey-container-grizzly2-servlet-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a61d090ed1e7b0c93e905f0826c9eda40bab8717
diff --git a/solr/licenses/jersey-container-servlet-2.39.1.jar.sha1 b/solr/licenses/jersey-container-servlet-2.39.1.jar.sha1
deleted file mode 100644
index 228a887c300..00000000000
--- a/solr/licenses/jersey-container-servlet-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-333caae8d3581430e6251e57182af1141a72df82
diff --git a/solr/licenses/jersey-container-servlet-core-2.39.1.jar.sha1 b/solr/licenses/jersey-container-servlet-core-2.39.1.jar.sha1
deleted file mode 100644
index 2ea9ba15fc0..00000000000
--- a/solr/licenses/jersey-container-servlet-core-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2270e8c8b3553fb4b3ac132212642c58f16488f9
diff --git a/solr/licenses/jersey-entity-filtering-2.39.1.jar.sha1 b/solr/licenses/jersey-entity-filtering-2.39.1.jar.sha1
deleted file mode 100644
index f5517b54d3a..00000000000
--- a/solr/licenses/jersey-entity-filtering-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d6cabcbea3885de33e1b0c96ba02752d92884ea4
diff --git a/solr/licenses/jersey-entity-filtering-3.1.5.jar.sha1 b/solr/licenses/jersey-entity-filtering-3.1.5.jar.sha1
new file mode 100644
index 00000000000..c370f8904e8
--- /dev/null
+++ b/solr/licenses/jersey-entity-filtering-3.1.5.jar.sha1
@@ -0,0 +1 @@
+41db0cc4323314888205b71aaca96ec81d25e14e
diff --git a/solr/licenses/jersey-hk2-2.39.1.jar.sha1 b/solr/licenses/jersey-hk2-2.39.1.jar.sha1
deleted file mode 100644
index 238b6ba9232..00000000000
--- a/solr/licenses/jersey-hk2-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-992005ae2e8ec3b215b2daa788c09eb902ef814b
diff --git a/solr/licenses/jersey-hk2-3.1.5.jar.sha1 b/solr/licenses/jersey-hk2-3.1.5.jar.sha1
new file mode 100644
index 00000000000..234150c8b99
--- /dev/null
+++ b/solr/licenses/jersey-hk2-3.1.5.jar.sha1
@@ -0,0 +1 @@
+9ecb5339c3de02e5939c72657e74e2c5fdeb71c8
diff --git a/solr/licenses/jersey-media-jaxb-2.39.1.jar.sha1 b/solr/licenses/jersey-media-jaxb-2.39.1.jar.sha1
deleted file mode 100644
index 6c5eac2da7c..00000000000
--- a/solr/licenses/jersey-media-jaxb-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-8285a8c287866e22c06f42ba3ae4170ff931be18
diff --git a/solr/licenses/jersey-media-json-jackson-2.39.1.jar.sha1 b/solr/licenses/jersey-media-json-jackson-2.39.1.jar.sha1
deleted file mode 100644
index ec34674ec6d..00000000000
--- a/solr/licenses/jersey-media-json-jackson-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3520363b7ac30d97ece9a6ae188c0d343cbad691
diff --git a/solr/licenses/jersey-media-json-jackson-3.1.5.jar.sha1 b/solr/licenses/jersey-media-json-jackson-3.1.5.jar.sha1
new file mode 100644
index 00000000000..a01b86a02b6
--- /dev/null
+++ b/solr/licenses/jersey-media-json-jackson-3.1.5.jar.sha1
@@ -0,0 +1 @@
+d6c428cac70dbc54a235d4b285fe21651e5f02a0
diff --git a/solr/licenses/jersey-server-2.39.1.jar.sha1 b/solr/licenses/jersey-server-2.39.1.jar.sha1
deleted file mode 100644
index ab9b47e3450..00000000000
--- a/solr/licenses/jersey-server-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-62324128215827bd646ddaac8f26cb2bdfe8e999
diff --git a/solr/licenses/jersey-server-3.1.5.jar.sha1 b/solr/licenses/jersey-server-3.1.5.jar.sha1
new file mode 100644
index 00000000000..5eb0c8fe943
--- /dev/null
+++ b/solr/licenses/jersey-server-3.1.5.jar.sha1
@@ -0,0 +1 @@
+30dd9ec9bdb832f7223e293e1f367c695506cad1
diff --git a/solr/licenses/jersey-test-framework-core-2.39.1.jar.sha1 b/solr/licenses/jersey-test-framework-core-2.39.1.jar.sha1
deleted file mode 100644
index ef71f9a1a63..00000000000
--- a/solr/licenses/jersey-test-framework-core-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f42fd388041b5afe9284fae7b368bf1ac0e30caf
diff --git a/solr/licenses/jersey-test-framework-provider-grizzly2-2.39.1.jar.sha1 b/solr/licenses/jersey-test-framework-provider-grizzly2-2.39.1.jar.sha1
deleted file mode 100644
index 968fbaf41e2..00000000000
--- a/solr/licenses/jersey-test-framework-provider-grizzly2-2.39.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-fcf8d4c4be70ae6cfb5a95fe67686267f39de1de
diff --git a/solr/licenses/junit-jupiter-5.9.1.jar.sha1 b/solr/licenses/junit-jupiter-5.9.1.jar.sha1
deleted file mode 100644
index 08e99f5789e..00000000000
--- a/solr/licenses/junit-jupiter-5.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-9274d3757e224bc02eae367bd481062a263c150b
diff --git a/solr/licenses/junit-jupiter-api-5.9.1.jar.sha1 b/solr/licenses/junit-jupiter-api-5.9.1.jar.sha1
deleted file mode 100644
index 7735f632280..00000000000
--- a/solr/licenses/junit-jupiter-api-5.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7bb53fbc0173e9f6a9d21d58297af94b1f2f9ce1
diff --git a/solr/licenses/junit-jupiter-engine-5.9.1.jar.sha1 b/solr/licenses/junit-jupiter-engine-5.9.1.jar.sha1
deleted file mode 100644
index f4d83b9a976..00000000000
--- a/solr/licenses/junit-jupiter-engine-5.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1bf771097bde296c3ab174861954e8aafaaf2e94
diff --git a/solr/licenses/junit-jupiter-params-5.9.1.jar.sha1 b/solr/licenses/junit-jupiter-params-5.9.1.jar.sha1
deleted file mode 100644
index c2bcc47b3c9..00000000000
--- a/solr/licenses/junit-jupiter-params-5.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ffcd1013edaeee112be11fcddeb38882d79238de
diff --git a/solr/licenses/junit-platform-commons-1.9.1.jar.sha1 b/solr/licenses/junit-platform-commons-1.9.1.jar.sha1
deleted file mode 100644
index b2c2116cf63..00000000000
--- a/solr/licenses/junit-platform-commons-1.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3145f821b5cd10abcdc5f925baa5fffa6f1b628f
diff --git a/solr/licenses/junit-platform-engine-1.9.1.jar.sha1 b/solr/licenses/junit-platform-engine-1.9.1.jar.sha1
deleted file mode 100644
index b927d3730e8..00000000000
--- a/solr/licenses/junit-platform-engine-1.9.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-83591e5089d6cea5f324aa3ecca9b19d5a275803
diff --git a/solr/licenses/opentest4j-1.2.0.jar.sha1 b/solr/licenses/opentest4j-1.2.0.jar.sha1
deleted file mode 100644
index 1d8cede8888..00000000000
--- a/solr/licenses/opentest4j-1.2.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-28c11eb91f9b6d8e200631d46e20a7f407f2a046
diff --git a/solr/licenses/opentest4j-LICENSE-ASL.txt b/solr/licenses/opentest4j-LICENSE-ASL.txt
deleted file mode 100644
index 8dada3edaf5..00000000000
--- a/solr/licenses/opentest4j-LICENSE-ASL.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright {yyyy} {name of copyright owner}
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/solr/licenses/opentest4j-NOTICE.txt b/solr/licenses/opentest4j-NOTICE.txt
deleted file mode 100644
index c84bc566aa3..00000000000
--- a/solr/licenses/opentest4j-NOTICE.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright 2015-2023 the original author or authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
\ No newline at end of file
diff --git a/solr/licenses/swagger-annotations-2.2.17.jar.sha1 b/solr/licenses/swagger-annotations-2.2.17.jar.sha1
deleted file mode 100644
index 4111ef52c0f..00000000000
--- a/solr/licenses/swagger-annotations-2.2.17.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ee67ccee6a9d84831f0fdd635021e7e00439fecd
diff --git a/solr/licenses/swagger-annotations-jakarta-2.2.17.jar.sha1 b/solr/licenses/swagger-annotations-jakarta-2.2.17.jar.sha1
new file mode 100644
index 00000000000..e66f1ffa15a
--- /dev/null
+++ b/solr/licenses/swagger-annotations-jakarta-2.2.17.jar.sha1
@@ -0,0 +1 @@
+f514290a1dc3ad3ba9f376cde9a6e8e85f5ab628
diff --git a/versions.lock b/versions.lock
index be3a4faf5b2..6faa27e5ec9 100644
--- a/versions.lock
+++ b/versions.lock
@@ -6,13 +6,13 @@ com.carrotsearch:hppc:0.9.1 (2 constraints: ad0fc9a6)
com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.1 (2 constraints: cf1501e2)
com.cybozu.labs:langdetect:1.1-20120112 (1 constraints: 5c066d5e)
com.epam:parso:2.0.14 (1 constraints: 8e0c750e)
-com.fasterxml.jackson:jackson-bom:2.16.1 (12 constraints: 4ef8c555)
-com.fasterxml.jackson.core:jackson-annotations:2.16.1 (10 constraints: 9cbe7917)
-com.fasterxml.jackson.core:jackson-core:2.16.1 (13 constraints: 4302f528)
-com.fasterxml.jackson.core:jackson-databind:2.16.1 (18 constraints: 8d63998e)
+com.fasterxml.jackson:jackson-bom:2.16.1 (12 constraints: a2fcae61)
+com.fasterxml.jackson.core:jackson-annotations:2.16.1 (10 constraints: f3c2f2fe)
+com.fasterxml.jackson.core:jackson-core:2.16.1 (13 constraints: 97063bf8)
+com.fasterxml.jackson.core:jackson-databind:2.16.1 (18 constraints: e46762e8)
com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.16.1 (2 constraints: 631c9cf1)
com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.16.1 (1 constraints: ba0ead66)
-com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.16.1 (2 constraints: a724cce0)
+com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.16.1 (2 constraints: aa24d1e0)
com.fasterxml.woodstox:woodstox-core:6.5.1 (2 constraints: a0239c84)
com.github.ben-manes.caffeine:caffeine:3.1.8 (1 constraints: 0e050536)
com.github.jai-imageio:jai-imageio-core:1.4.0 (1 constraints: 5c0ced01)
@@ -155,12 +155,13 @@ io.prometheus:simpleclient:0.16.0 (3 constraints: 9d257513)
io.prometheus:simpleclient_common:0.16.0 (1 constraints: 1a1139c0)
io.prometheus:simpleclient_httpserver:0.16.0 (1 constraints: 3905353b)
io.sgr:s2-geometry-library-java:1.0.0 (1 constraints: b0107fb9)
-io.swagger.core.v3:swagger-annotations:2.2.17 (1 constraints: 3e053a3b)
+io.swagger.core.v3:swagger-annotations-jakarta:2.2.17 (1 constraints: 3e053a3b)
jakarta.activation:jakarta.activation-api:1.2.2 (1 constraints: 8e0f4791)
-jakarta.annotation:jakarta.annotation-api:1.3.5 (4 constraints: d740f9a9)
-jakarta.validation:jakarta.validation-api:2.0.2 (1 constraints: fd10b6c3)
-jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 (10 constraints: c1cce3ec)
-jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (5 constraints: c45d665e)
+jakarta.annotation:jakarta.annotation-api:2.1.1 (4 constraints: c94095a4)
+jakarta.inject:jakarta.inject-api:2.0.1 (5 constraints: 1d49b79e)
+jakarta.validation:jakarta.validation-api:3.0.2 (1 constraints: fe10bbc3)
+jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 (6 constraints: 7365f954)
+jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (3 constraints: 882a5cbd)
javax.measure:unit-api:1.0 (5 constraints: 8e3e2cc5)
joda-time:joda-time:2.8.1 (3 constraints: d61aef93)
junit:junit:4.13.2 (7 constraints: 136d2cb8)
@@ -308,26 +309,25 @@ org.eclipse.jetty.http2:http2-server:10.0.19 (1 constraints: 6d059540)
org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6 (4 constraints: 883053bf)
org.gagravarr:vorbis-java-core:0.8 (1 constraints: 010c57e9)
org.gagravarr:vorbis-java-tika:0.8 (1 constraints: 010c57e9)
-org.glassfish.hk2:hk2-api:2.6.1 (2 constraints: 7811f501)
-org.glassfish.hk2:hk2-locator:2.6.1 (1 constraints: 4410e0ad)
-org.glassfish.hk2:hk2-utils:2.6.1 (2 constraints: 21173277)
-org.glassfish.hk2:osgi-resource-locator:1.0.3 (2 constraints: 7d23b265)
-org.glassfish.hk2.external:aopalliance-repackaged:2.6.1 (2 constraints: 21173277)
-org.glassfish.hk2.external:jakarta.inject:2.6.1 (11 constraints: 2cbae60f)
+org.glassfish.hk2:hk2-api:3.0.5 (2 constraints: 7611bd01)
+org.glassfish.hk2:hk2-locator:3.0.5 (1 constraints: 4310d7ad)
+org.glassfish.hk2:hk2-utils:3.0.5 (2 constraints: 1f17fa76)
+org.glassfish.hk2:osgi-resource-locator:1.0.3 (1 constraints: ef10e7c2)
+org.glassfish.hk2.external:aopalliance-repackaged:3.0.5 (2 constraints: 1f17fa76)
org.glassfish.jaxb:jaxb-runtime:2.3.8 (2 constraints: 23175d5b)
org.glassfish.jaxb:txw2:2.3.8 (1 constraints: c20dba35)
org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1 (1 constraints: 4105533b)
-org.glassfish.jersey.core:jersey-client:2.39.1 (1 constraints: 381109d5)
-org.glassfish.jersey.core:jersey-common:2.39.1 (11 constraints: 14e24daa)
-org.glassfish.jersey.core:jersey-server:2.39.1 (7 constraints: cba0adfa)
-org.glassfish.jersey.ext:jersey-entity-filtering:2.39.1 (1 constraints: f5152ce9)
-org.glassfish.jersey.inject:jersey-hk2:2.39.1 (1 constraints: 4105533b)
-org.glassfish.jersey.media:jersey-media-json-jackson:2.39.1 (1 constraints: 4105533b)
-org.hamcrest:hamcrest:2.2 (5 constraints: 125db3af)
+org.glassfish.jersey.core:jersey-client:3.1.5 (1 constraints: 0211c1c3)
+org.glassfish.jersey.core:jersey-common:3.1.5 (6 constraints: 306670c3)
+org.glassfish.jersey.core:jersey-server:3.1.5 (2 constraints: 451ee640)
+org.glassfish.jersey.ext:jersey-entity-filtering:3.1.5 (1 constraints: bf1527d3)
+org.glassfish.jersey.inject:jersey-hk2:3.1.5 (1 constraints: 0b050236)
+org.glassfish.jersey.media:jersey-media-json-jackson:3.1.5 (1 constraints: 0b050236)
+org.hamcrest:hamcrest:2.2 (3 constraints: 7620ce25)
org.hamcrest:hamcrest-core:2.2 (1 constraints: cc05fe3f)
org.immutables:value-annotations:2.10.0 (1 constraints: 35052f3b)
org.itadaki:bzip2:0.9.1 (2 constraints: bd0c4b2c)
-org.javassist:javassist:3.29.0-GA (1 constraints: 2e1126f1)
+org.javassist:javassist:3.29.2-GA (1 constraints: 30112ef1)
org.jctools:jctools-core:4.0.1 (1 constraints: 07050036)
org.jdom:jdom2:2.0.6.1 (1 constraints: be0c371b)
org.jetbrains:annotations:13.0 (1 constraints: df0e795c)
@@ -409,7 +409,7 @@ io.github.microutils:kotlin-logging:3.0.5 (1 constraints: be0ea162)
io.github.microutils:kotlin-logging-jvm:3.0.5 (1 constraints: 810f8b7c)
io.micrometer:micrometer-core:1.9.12 (1 constraints: fe162919)
io.opentracing:opentracing-mock:0.33.0 (1 constraints: 3805343b)
-jakarta.servlet:jakarta.servlet-api:4.0.4 (4 constraints: 5b6ed66b)
+jakarta.servlet:jakarta.servlet-api:4.0.4 (1 constraints: 961568b9)
jakarta.websocket:jakarta.websocket-api:1.1.2 (1 constraints: 92155ab9)
javax.inject:javax.inject:1 (1 constraints: 7a0df617)
net.bytebuddy:byte-buddy:1.14.10 (1 constraints: 710bb0e9)
@@ -430,32 +430,13 @@ org.bouncycastle:bcpkix-jdk18on:1.77 (1 constraints: e3040431)
org.bouncycastle:bcprov-jdk18on:1.77 (2 constraints: c51a825c)
org.bouncycastle:bcutil-jdk18on:1.77 (1 constraints: 620d2d29)
org.freemarker:freemarker:2.3.32 (1 constraints: f00e9371)
-org.glassfish.grizzly:grizzly-framework:2.4.4 (1 constraints: 670fe271)
-org.glassfish.grizzly:grizzly-http:2.4.4 (1 constraints: 2b127cf5)
-org.glassfish.grizzly:grizzly-http-server:2.4.4 (2 constraints: bb2c391b)
-org.glassfish.grizzly:grizzly-http-servlet:2.4.4 (1 constraints: 681bda3f)
-org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.39.1 (2 constraints: 283f089c)
-org.glassfish.jersey.containers:jersey-container-grizzly2-servlet:2.39.1 (1 constraints: 8c230a01)
-org.glassfish.jersey.containers:jersey-container-servlet:2.39.1 (1 constraints: 9d1b845b)
-org.glassfish.jersey.containers:jersey-container-servlet-core:2.39.1 (2 constraints: 66329628)
-org.glassfish.jersey.media:jersey-media-jaxb:2.39.1 (1 constraints: 441ab3fe)
-org.glassfish.jersey.test-framework:jersey-test-framework-core:2.39.1 (2 constraints: cc283b2f)
-org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:2.39.1 (1 constraints: 4105533b)
org.hdrhistogram:HdrHistogram:2.1.12 (1 constraints: 520d2029)
org.hsqldb:hsqldb:2.7.2 (1 constraints: 0d050c36)
org.jetbrains.kotlin:kotlin-reflect:1.8.22 (2 constraints: 6624c1e2)
-org.junit:junit-bom:5.9.1 (6 constraints: 526217ff)
-org.junit.jupiter:junit-jupiter:5.9.1 (3 constraints: 844699a3)
-org.junit.jupiter:junit-jupiter-api:5.9.1 (4 constraints: 8b386434)
-org.junit.jupiter:junit-jupiter-engine:5.9.1 (2 constraints: 2117d63c)
-org.junit.jupiter:junit-jupiter-params:5.9.1 (2 constraints: 2117d63c)
-org.junit.platform:junit-platform-commons:1.9.1 (3 constraints: ee29f32b)
-org.junit.platform:junit-platform-engine:1.9.1 (2 constraints: bc19e1f3)
org.latencyutils:LatencyUtils:2.0.3 (1 constraints: 210dcd1b)
org.mockito:mockito-core:5.8.0 (2 constraints: dc11f5fd)
org.mockito:mockito-subclass:5.8.0 (1 constraints: 0f051c36)
org.objenesis:objenesis:3.3 (1 constraints: b20a14bd)
-org.opentest4j:opentest4j:1.2.0 (2 constraints: cd205b49)
org.springframework:spring-aop:5.3.28 (2 constraints: de1e8f9a)
org.springframework:spring-beans:5.3.28 (4 constraints: b03ac3c9)
org.springframework:spring-context:5.3.28 (2 constraints: 6f1fced2)
diff --git a/versions.props b/versions.props
index c1ce6e4d6ac..838649267fa 100644
--- a/versions.props
+++ b/versions.props
@@ -29,7 +29,7 @@ io.opentelemetry:opentelemetry-bom=1.31.0
io.opentracing:*=0.33.0
io.prometheus:*=0.16.0
io.swagger.core.v3:*=2.2.17
-jakarta.ws.rs:jakarta.ws.rs-api=2.1.6
+jakarta.ws.rs:jakarta.ws.rs-api=3.1.0
junit:junit=4.13.2
net.sourceforge.argparse4j:argparse4j=0.9.0
net.thisptr:jackson-jq=0.0.13
@@ -60,8 +60,10 @@ org.carrot2:carrot2-core=4.5.1
org.codehaus.woodstox:stax2-api=4.2.2
org.eclipse.jetty*:*=10.0.19
org.eclipse.jetty.toolchain:jetty-servlet-api=4.0.6
-org.glassfish.hk2*:*=2.6.1
-org.glassfish.jersey*:*=2.39.1
+org.glassfish.hk2*:*=3.0.5
+org.glassfish.hk2.external:jakarta.inject=2.6.1
+org.glassfish.jersey*:*=3.1.5
+org.glassfish.jersey.containers:jersey-container-jetty-http=2.39.1
org.hamcrest:*=2.2
org.hsqldb:hsqldb=2.7.2
org.immutables:value-annotations=2.10.0