diff --git a/pom.xml b/pom.xml
index b8a3ec41a6..04c072aa63 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,14 +63,13 @@
2.13.4
1.2.2
4.0.3
- 2.3.3
- 1.3.2
- 2.3.8
+ 3.0.1
+ 3.0.1
2.0.6.1
- 2.40
- 10.0.15
+ 3.1.3
+ 11.0.16
5.8.2
- 1.3.12
+ 1.4.14
3.1.0
5.4.0
@@ -199,11 +198,6 @@
jakarta.xml.bind-api
${dep.jakarta.xml.bind-api.version}
-
- javax.annotation
- javax.annotation-api
- ${dep.javax.annotation-api.version}
-
net.spy
spymemcached
@@ -308,6 +302,12 @@
junit-jupiter
${dep.junit-jupiter.version}
test
+
+
+ org.hamcrest
+ *
+
+
org.mockito
@@ -923,6 +923,25 @@
duplicate-finder-maven-plugin
1.5.1
+
+
+
+
+ org.glassfish.jersey.containers
+ jersey-container-jetty-http
+ ${dep.jersey.version}
+
+
+ org.glassfish.jersey.test-framework.providers
+ jersey-test-framework-provider-jetty
+ ${dep.jersey.version}
+
+
+
+ org/glassfish/jersey/jetty/internal/localization.properties
+
+
+
false
true
false
diff --git a/src/main/java/emissary/client/EmissaryClient.java b/src/main/java/emissary/client/EmissaryClient.java
index 0629ab7fab..e183b3340b 100644
--- a/src/main/java/emissary/client/EmissaryClient.java
+++ b/src/main/java/emissary/client/EmissaryClient.java
@@ -5,6 +5,7 @@
import emissary.config.Configurator;
import com.google.common.annotations.VisibleForTesting;
+import jakarta.ws.rs.core.MediaType;
import org.apache.hc.client5.http.auth.AuthCache;
import org.apache.hc.client5.http.auth.AuthScope;
import org.apache.hc.client5.http.auth.Credentials;
@@ -36,7 +37,6 @@
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import javax.annotation.Nullable;
-import javax.ws.rs.core.MediaType;
/**
* Base class of all the actions that use HttpClient.
diff --git a/src/main/java/emissary/client/EmissaryResponse.java b/src/main/java/emissary/client/EmissaryResponse.java
index f138c35066..9c22d6916b 100644
--- a/src/main/java/emissary/client/EmissaryResponse.java
+++ b/src/main/java/emissary/client/EmissaryResponse.java
@@ -3,6 +3,7 @@
import emissary.client.response.BaseEntity;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.ws.rs.core.MediaType;
import org.apache.commons.io.IOUtils;
import org.apache.hc.core5.http.ClassicHttpResponse;
import org.apache.hc.core5.http.Header;
@@ -17,7 +18,6 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
-import javax.ws.rs.core.MediaType;
public class EmissaryResponse {
diff --git a/src/main/java/emissary/client/response/Agent.java b/src/main/java/emissary/client/response/Agent.java
index 15c808d693..28012a7dde 100644
--- a/src/main/java/emissary/client/response/Agent.java
+++ b/src/main/java/emissary/client/response/Agent.java
@@ -1,12 +1,12 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class Agent implements Comparable, Serializable {
diff --git a/src/main/java/emissary/client/response/AgentList.java b/src/main/java/emissary/client/response/AgentList.java
index b2a1eed869..20b2824629 100644
--- a/src/main/java/emissary/client/response/AgentList.java
+++ b/src/main/java/emissary/client/response/AgentList.java
@@ -1,5 +1,8 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -7,9 +10,6 @@
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class AgentList implements Serializable {
diff --git a/src/main/java/emissary/client/response/AgentsResponseEntity.java b/src/main/java/emissary/client/response/AgentsResponseEntity.java
index 8ed422bd31..094dcc4c38 100644
--- a/src/main/java/emissary/client/response/AgentsResponseEntity.java
+++ b/src/main/java/emissary/client/response/AgentsResponseEntity.java
@@ -1,15 +1,16 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.annotation.Nullable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "agents")
@XmlAccessorType(XmlAccessType.NONE)
diff --git a/src/main/java/emissary/client/response/BaseResponseEntity.java b/src/main/java/emissary/client/response/BaseResponseEntity.java
index 30d8857020..849cad857e 100644
--- a/src/main/java/emissary/client/response/BaseResponseEntity.java
+++ b/src/main/java/emissary/client/response/BaseResponseEntity.java
@@ -1,14 +1,15 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessOrder;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorOrder;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nullable;
-import javax.xml.bind.annotation.XmlAccessOrder;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorOrder;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
@XmlAccessorOrder(XmlAccessOrder.ALPHABETICAL)
diff --git a/src/main/java/emissary/client/response/Config.java b/src/main/java/emissary/client/response/Config.java
index 8da6e3274a..034f5b0f70 100644
--- a/src/main/java/emissary/client/response/Config.java
+++ b/src/main/java/emissary/client/response/Config.java
@@ -2,11 +2,12 @@
import emissary.config.ConfigEntry;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+
import java.io.Serializable;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class Config implements Serializable {
diff --git a/src/main/java/emissary/client/response/ConfigList.java b/src/main/java/emissary/client/response/ConfigList.java
index f2802fb4df..1193efb233 100644
--- a/src/main/java/emissary/client/response/ConfigList.java
+++ b/src/main/java/emissary/client/response/ConfigList.java
@@ -1,5 +1,8 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -7,9 +10,6 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class ConfigList implements Serializable {
diff --git a/src/main/java/emissary/client/response/ConfigsResponseEntity.java b/src/main/java/emissary/client/response/ConfigsResponseEntity.java
index bfd5d0b3ac..2e066324a4 100644
--- a/src/main/java/emissary/client/response/ConfigsResponseEntity.java
+++ b/src/main/java/emissary/client/response/ConfigsResponseEntity.java
@@ -1,13 +1,12 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
@XmlRootElement(name = "configs")
@XmlAccessorType(XmlAccessType.NONE)
public class ConfigsResponseEntity extends BaseResponseEntity {
diff --git a/src/main/java/emissary/client/response/Directory.java b/src/main/java/emissary/client/response/Directory.java
index cc2301a670..79cfff2000 100644
--- a/src/main/java/emissary/client/response/Directory.java
+++ b/src/main/java/emissary/client/response/Directory.java
@@ -2,13 +2,13 @@
import emissary.directory.DirectoryEntry;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class Directory implements Comparable, Serializable {
diff --git a/src/main/java/emissary/client/response/DirectoryList.java b/src/main/java/emissary/client/response/DirectoryList.java
index 2e7524db29..adcb145f92 100644
--- a/src/main/java/emissary/client/response/DirectoryList.java
+++ b/src/main/java/emissary/client/response/DirectoryList.java
@@ -1,5 +1,8 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -7,9 +10,6 @@
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class DirectoryList implements Serializable {
diff --git a/src/main/java/emissary/client/response/DirectoryResponseEntity.java b/src/main/java/emissary/client/response/DirectoryResponseEntity.java
index f91073a8d2..5f665639ef 100644
--- a/src/main/java/emissary/client/response/DirectoryResponseEntity.java
+++ b/src/main/java/emissary/client/response/DirectoryResponseEntity.java
@@ -1,13 +1,12 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
@XmlRootElement(name = "directories")
@XmlAccessorType(XmlAccessType.NONE)
public class DirectoryResponseEntity extends BaseResponseEntity {
diff --git a/src/main/java/emissary/client/response/MapResponseEntity.java b/src/main/java/emissary/client/response/MapResponseEntity.java
index d1b54c7810..5cc7dc2f13 100644
--- a/src/main/java/emissary/client/response/MapResponseEntity.java
+++ b/src/main/java/emissary/client/response/MapResponseEntity.java
@@ -1,14 +1,14 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.TreeMap;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "mapResponseEntity")
@XmlAccessorType(XmlAccessType.NONE)
diff --git a/src/main/java/emissary/client/response/PeerList.java b/src/main/java/emissary/client/response/PeerList.java
index b54782a6c5..5db2b47f7a 100644
--- a/src/main/java/emissary/client/response/PeerList.java
+++ b/src/main/java/emissary/client/response/PeerList.java
@@ -1,13 +1,13 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.Serializable;
import java.util.Set;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class PeerList implements Serializable {
diff --git a/src/main/java/emissary/client/response/PeersResponseEntity.java b/src/main/java/emissary/client/response/PeersResponseEntity.java
index a274666196..67025ff536 100644
--- a/src/main/java/emissary/client/response/PeersResponseEntity.java
+++ b/src/main/java/emissary/client/response/PeersResponseEntity.java
@@ -1,14 +1,14 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashSet;
import java.util.Set;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "peers")
@XmlAccessorType(XmlAccessType.NONE)
diff --git a/src/main/java/emissary/client/response/PlaceList.java b/src/main/java/emissary/client/response/PlaceList.java
index 515934bbf0..dad1068405 100644
--- a/src/main/java/emissary/client/response/PlaceList.java
+++ b/src/main/java/emissary/client/response/PlaceList.java
@@ -1,5 +1,8 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -7,9 +10,6 @@
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
@XmlAccessorType(XmlAccessType.NONE)
public class PlaceList implements Serializable {
diff --git a/src/main/java/emissary/client/response/PlacesResponseEntity.java b/src/main/java/emissary/client/response/PlacesResponseEntity.java
index 5144a7610b..802c940184 100644
--- a/src/main/java/emissary/client/response/PlacesResponseEntity.java
+++ b/src/main/java/emissary/client/response/PlacesResponseEntity.java
@@ -1,15 +1,15 @@
package emissary.client.response;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nullable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "places")
@XmlAccessorType(XmlAccessType.NONE)
diff --git a/src/main/java/emissary/server/InitializeContext.java b/src/main/java/emissary/server/InitializeContext.java
index 612247816e..90d501397d 100644
--- a/src/main/java/emissary/server/InitializeContext.java
+++ b/src/main/java/emissary/server/InitializeContext.java
@@ -3,12 +3,11 @@
import emissary.core.EmissaryException;
import emissary.directory.EmissaryNode;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
/**
* Initialize the application from inside the webapp context This initializer performs the following actions
*
diff --git a/src/main/java/emissary/server/api/Agents.java b/src/main/java/emissary/server/api/Agents.java
index ba6ea505e7..e10d211ed4 100644
--- a/src/main/java/emissary/server/api/Agents.java
+++ b/src/main/java/emissary/server/api/Agents.java
@@ -12,16 +12,16 @@
import emissary.pool.MobileAgentFactory;
import emissary.server.EmissaryServer;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.StringJoiner;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.api.ApiUtils.lookupPeers;
import static emissary.server.api.ApiUtils.stripPeerString;
diff --git a/src/main/java/emissary/server/api/Configs.java b/src/main/java/emissary/server/api/Configs.java
index f5a849163a..fa5893c207 100644
--- a/src/main/java/emissary/server/api/Configs.java
+++ b/src/main/java/emissary/server/api/Configs.java
@@ -9,6 +9,12 @@
import emissary.config.ServiceConfigGuide;
import com.google.common.collect.Lists;
+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 jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
@@ -17,12 +23,6 @@
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
-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 javax.ws.rs.core.Response;
import static emissary.config.ConfigUtil.CONFIG_FILE_ENDING;
import static emissary.core.constants.Configurations.RESERVED_SERVICE_CONFIG_KEYS;
diff --git a/src/main/java/emissary/server/api/Directories.java b/src/main/java/emissary/server/api/Directories.java
index 1d5887bc92..d5e044122c 100644
--- a/src/main/java/emissary/server/api/Directories.java
+++ b/src/main/java/emissary/server/api/Directories.java
@@ -8,15 +8,15 @@
import emissary.directory.DirectoryPlace;
import emissary.directory.IDirectoryPlace;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
@Path("")
public class Directories {
diff --git a/src/main/java/emissary/server/api/Env.java b/src/main/java/emissary/server/api/Env.java
index 6b53365fe1..a119baecd0 100644
--- a/src/main/java/emissary/server/api/Env.java
+++ b/src/main/java/emissary/server/api/Env.java
@@ -6,15 +6,15 @@
import emissary.core.NamespaceException;
import emissary.server.EmissaryServer;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
/**
* The env Emissary API endpoint that returns key=value pairs of config info for the running node
diff --git a/src/main/java/emissary/server/api/HealthCheckAction.java b/src/main/java/emissary/server/api/HealthCheckAction.java
index 7570ff06b1..b78fd80852 100644
--- a/src/main/java/emissary/server/api/HealthCheckAction.java
+++ b/src/main/java/emissary/server/api/HealthCheckAction.java
@@ -3,15 +3,14 @@
import emissary.core.MetricsManager;
import emissary.core.NamespaceException;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is /api, set in EmissaryServer
public class HealthCheckAction {
diff --git a/src/main/java/emissary/server/api/MetricsAction.java b/src/main/java/emissary/server/api/MetricsAction.java
index 5367371929..9b92706b94 100644
--- a/src/main/java/emissary/server/api/MetricsAction.java
+++ b/src/main/java/emissary/server/api/MetricsAction.java
@@ -3,15 +3,14 @@
import emissary.core.MetricsManager;
import emissary.core.NamespaceException;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is /api, set in EmissaryServer
public class MetricsAction {
diff --git a/src/main/java/emissary/server/api/Pause.java b/src/main/java/emissary/server/api/Pause.java
index 64fe2b9e8f..7177cd06ac 100644
--- a/src/main/java/emissary/server/api/Pause.java
+++ b/src/main/java/emissary/server/api/Pause.java
@@ -3,17 +3,16 @@
import emissary.core.NamespaceException;
import emissary.server.EmissaryServer;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is api
public class Pause {
diff --git a/src/main/java/emissary/server/api/Peers.java b/src/main/java/emissary/server/api/Peers.java
index 2427a63673..26fdfef7a6 100644
--- a/src/main/java/emissary/server/api/Peers.java
+++ b/src/main/java/emissary/server/api/Peers.java
@@ -5,16 +5,16 @@
import emissary.client.response.PeersResponseEntity;
import emissary.core.EmissaryException;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.api.ApiUtils.getHostAndPort;
import static emissary.server.api.ApiUtils.lookupPeers;
diff --git a/src/main/java/emissary/server/api/Places.java b/src/main/java/emissary/server/api/Places.java
index 59e959243b..1b0868eb18 100644
--- a/src/main/java/emissary/server/api/Places.java
+++ b/src/main/java/emissary/server/api/Places.java
@@ -8,16 +8,16 @@
import emissary.directory.EmissaryNode;
import emissary.server.EmissaryServer;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.api.ApiUtils.lookupPeers;
import static emissary.server.api.ApiUtils.stripPeerString;
diff --git a/src/main/java/emissary/server/api/Pool.java b/src/main/java/emissary/server/api/Pool.java
index 488dd3a155..60484f842a 100644
--- a/src/main/java/emissary/server/api/Pool.java
+++ b/src/main/java/emissary/server/api/Pool.java
@@ -10,16 +10,15 @@
import emissary.pool.MobileAgentFactory;
import emissary.server.EmissaryServer;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import static emissary.server.api.ApiUtils.lookupPeers;
import static emissary.server.api.ApiUtils.stripPeerString;
diff --git a/src/main/java/emissary/server/api/Shutdown.java b/src/main/java/emissary/server/api/Shutdown.java
index 097fb8f7e6..f02b2315b0 100644
--- a/src/main/java/emissary/server/api/Shutdown.java
+++ b/src/main/java/emissary/server/api/Shutdown.java
@@ -2,17 +2,16 @@
import emissary.server.EmissaryServer;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is api
public class Shutdown {
diff --git a/src/main/java/emissary/server/api/Version.java b/src/main/java/emissary/server/api/Version.java
index d6a4a83849..9ff09f239d 100644
--- a/src/main/java/emissary/server/api/Version.java
+++ b/src/main/java/emissary/server/api/Version.java
@@ -8,16 +8,16 @@
import emissary.directory.EmissaryNode;
import emissary.server.EmissaryServer;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.api.ApiUtils.lookupPeers;
import static emissary.server.api.ApiUtils.stripPeerString;
diff --git a/src/main/java/emissary/server/mvc/DumpDirectoryAction.java b/src/main/java/emissary/server/mvc/DumpDirectoryAction.java
index 354e9e9ff5..62e6c23aa2 100644
--- a/src/main/java/emissary/server/mvc/DumpDirectoryAction.java
+++ b/src/main/java/emissary/server/mvc/DumpDirectoryAction.java
@@ -10,6 +10,13 @@
import emissary.server.mvc.adapters.DirectoryAdapter;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.servlet.http.HttpServletRequest;
+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.Context;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -20,13 +27,6 @@
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
-import javax.servlet.http.HttpServletRequest;
-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.Context;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/EnvironmentAction.java b/src/main/java/emissary/server/mvc/EnvironmentAction.java
index ba95ac2f92..10ca702c05 100644
--- a/src/main/java/emissary/server/mvc/EnvironmentAction.java
+++ b/src/main/java/emissary/server/mvc/EnvironmentAction.java
@@ -1,5 +1,9 @@
package emissary.server.mvc;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.util.Enumeration;
@@ -7,10 +11,6 @@
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/NamespaceAction.java b/src/main/java/emissary/server/mvc/NamespaceAction.java
index bf48e2f37c..5e2fc7e651 100644
--- a/src/main/java/emissary/server/mvc/NamespaceAction.java
+++ b/src/main/java/emissary/server/mvc/NamespaceAction.java
@@ -3,18 +3,18 @@
import emissary.core.Namespace;
import emissary.core.NamespaceException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/NavAction.java b/src/main/java/emissary/server/mvc/NavAction.java
index 3ba426d231..24a8a32b2c 100644
--- a/src/main/java/emissary/server/mvc/NavAction.java
+++ b/src/main/java/emissary/server/mvc/NavAction.java
@@ -3,16 +3,16 @@
import emissary.config.ConfigUtil;
import emissary.config.Configurator;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/PauseAction.java b/src/main/java/emissary/server/mvc/PauseAction.java
index e3dec9d372..0d2cb0194f 100644
--- a/src/main/java/emissary/server/mvc/PauseAction.java
+++ b/src/main/java/emissary/server/mvc/PauseAction.java
@@ -1,15 +1,15 @@
package emissary.server.mvc;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/ShutdownAction.java b/src/main/java/emissary/server/mvc/ShutdownAction.java
index be1fbb0516..58acb96402 100644
--- a/src/main/java/emissary/server/mvc/ShutdownAction.java
+++ b/src/main/java/emissary/server/mvc/ShutdownAction.java
@@ -1,15 +1,15 @@
package emissary.server.mvc;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/ThreadDumpAction.java b/src/main/java/emissary/server/mvc/ThreadDumpAction.java
index 5a7666214b..bb7ffdc11f 100644
--- a/src/main/java/emissary/server/mvc/ThreadDumpAction.java
+++ b/src/main/java/emissary/server/mvc/ThreadDumpAction.java
@@ -2,6 +2,10 @@
import emissary.util.Version;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Template;
import java.lang.management.ManagementFactory;
@@ -12,10 +16,6 @@
import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/TransferDirectoryAction.java b/src/main/java/emissary/server/mvc/TransferDirectoryAction.java
index aa0ffbbb86..71c52ee06c 100644
--- a/src/main/java/emissary/server/mvc/TransferDirectoryAction.java
+++ b/src/main/java/emissary/server/mvc/TransferDirectoryAction.java
@@ -8,16 +8,16 @@
import emissary.server.mvc.adapters.RequestUtil;
import emissary.util.web.HtmlEscaper;
+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 jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
-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 javax.ws.rs.core.Response;
@Path("")
// context is emissary
diff --git a/src/main/java/emissary/server/mvc/adapters/DirectoryAdapter.java b/src/main/java/emissary/server/mvc/adapters/DirectoryAdapter.java
index dfede23b0d..3265acfd7b 100755
--- a/src/main/java/emissary/server/mvc/adapters/DirectoryAdapter.java
+++ b/src/main/java/emissary/server/mvc/adapters/DirectoryAdapter.java
@@ -12,6 +12,8 @@
import emissary.directory.KeyManipulator;
import emissary.log.MDCConstants;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.MediaType;
import org.apache.hc.client5.http.classic.methods.HttpPost;
import org.apache.hc.client5.http.entity.EntityBuilder;
import org.apache.hc.client5.http.entity.UrlEncodedFormEntity;
@@ -28,8 +30,6 @@
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.MediaType;
/**
* Stuff for adapting the Directory calls to HTTP All the outbound methods supply the TARGET_DIRECTORY parameter that
diff --git a/src/main/java/emissary/server/mvc/adapters/RequestUtil.java b/src/main/java/emissary/server/mvc/adapters/RequestUtil.java
index f688c98de9..23dd568847 100755
--- a/src/main/java/emissary/server/mvc/adapters/RequestUtil.java
+++ b/src/main/java/emissary/server/mvc/adapters/RequestUtil.java
@@ -1,11 +1,11 @@
package emissary.server.mvc.adapters;
+import jakarta.servlet.ServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.ServletRequest;
/**
* Utilities for dealing with request parameters
diff --git a/src/main/java/emissary/server/mvc/internal/DeregisterPlaceAction.java b/src/main/java/emissary/server/mvc/internal/DeregisterPlaceAction.java
index b012f9ffeb..1c157b9175 100644
--- a/src/main/java/emissary/server/mvc/internal/DeregisterPlaceAction.java
+++ b/src/main/java/emissary/server/mvc/internal/DeregisterPlaceAction.java
@@ -5,19 +5,19 @@
import emissary.log.MDCConstants;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import java.util.List;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_KEY;
import static emissary.server.mvc.adapters.DirectoryAdapter.TARGET_DIRECTORY;
diff --git a/src/main/java/emissary/server/mvc/internal/FailDirectoryAction.java b/src/main/java/emissary/server/mvc/internal/FailDirectoryAction.java
index d38d755352..b895c63b5c 100644
--- a/src/main/java/emissary/server/mvc/internal/FailDirectoryAction.java
+++ b/src/main/java/emissary/server/mvc/internal/FailDirectoryAction.java
@@ -5,19 +5,18 @@
import emissary.log.MDCConstants;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_KEY;
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_PROPAGATION_FLAG;
import static emissary.server.mvc.adapters.DirectoryAdapter.FAILED_DIRECTORY_NAME;
diff --git a/src/main/java/emissary/server/mvc/internal/HeartbeatAction.java b/src/main/java/emissary/server/mvc/internal/HeartbeatAction.java
index 1732f26072..192d000e67 100644
--- a/src/main/java/emissary/server/mvc/internal/HeartbeatAction.java
+++ b/src/main/java/emissary/server/mvc/internal/HeartbeatAction.java
@@ -6,17 +6,16 @@
import emissary.server.mvc.adapters.HeartbeatAdapter;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is emissary
public class HeartbeatAction {
diff --git a/src/main/java/emissary/server/mvc/internal/RegisterPeerAction.java b/src/main/java/emissary/server/mvc/internal/RegisterPeerAction.java
index c1192358d3..f78e89c238 100644
--- a/src/main/java/emissary/server/mvc/internal/RegisterPeerAction.java
+++ b/src/main/java/emissary/server/mvc/internal/RegisterPeerAction.java
@@ -10,6 +10,13 @@
import emissary.server.mvc.adapters.RequestUtil;
import emissary.util.web.HtmlEscaper;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -17,13 +24,6 @@
import java.util.HashSet;
import java.util.Set;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.DirectoryAdapter.DIRECTORY_NAME;
import static emissary.server.mvc.adapters.DirectoryAdapter.TARGET_DIRECTORY;
diff --git a/src/main/java/emissary/server/mvc/internal/RollOutputsAction.java b/src/main/java/emissary/server/mvc/internal/RollOutputsAction.java
index 3a758b3ff8..a3346ac725 100644
--- a/src/main/java/emissary/server/mvc/internal/RollOutputsAction.java
+++ b/src/main/java/emissary/server/mvc/internal/RollOutputsAction.java
@@ -6,14 +6,15 @@
import emissary.output.filter.IDropOffFilter;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.DefaultValue;
+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 jakarta.ws.rs.core.Response;
+
import java.util.List;
-import javax.ws.rs.DefaultValue;
-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 javax.ws.rs.core.Response;
import static emissary.util.PayloadUtil.logger;
diff --git a/src/main/java/emissary/server/mvc/internal/WorkBundleCompletedAction.java b/src/main/java/emissary/server/mvc/internal/WorkBundleCompletedAction.java
index 1acb3e60da..8a190ab0b9 100644
--- a/src/main/java/emissary/server/mvc/internal/WorkBundleCompletedAction.java
+++ b/src/main/java/emissary/server/mvc/internal/WorkBundleCompletedAction.java
@@ -5,18 +5,17 @@
import emissary.pickup.WorkSpace;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import static emissary.server.mvc.adapters.WorkSpaceAdapter.CLIENT_NAME;
import static emissary.server.mvc.adapters.WorkSpaceAdapter.SPACE_NAME;
import static emissary.server.mvc.adapters.WorkSpaceAdapter.WORK_BUNDLE_ID;
diff --git a/src/main/java/emissary/server/mvc/internal/WorkSpaceClientOpenWorkSpaceAction.java b/src/main/java/emissary/server/mvc/internal/WorkSpaceClientOpenWorkSpaceAction.java
index 690016e37d..5d6a20bb2b 100644
--- a/src/main/java/emissary/server/mvc/internal/WorkSpaceClientOpenWorkSpaceAction.java
+++ b/src/main/java/emissary/server/mvc/internal/WorkSpaceClientOpenWorkSpaceAction.java
@@ -5,17 +5,16 @@
import emissary.pickup.IPickUpSpace;
import emissary.server.mvc.adapters.RequestUtil;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import static emissary.server.mvc.adapters.WorkSpaceAdapter.CLIENT_NAME;
import static emissary.server.mvc.adapters.WorkSpaceAdapter.SPACE_NAME;
diff --git a/src/main/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeAction.java b/src/main/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeAction.java
index 6dbe59804f..86d60084f4 100644
--- a/src/main/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeAction.java
+++ b/src/main/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeAction.java
@@ -7,18 +7,17 @@
import emissary.server.mvc.adapters.RequestUtil;
import emissary.util.web.HtmlEscaper;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
@Path("")
// context is /emissary, set in EmissaryServer
public class WorkSpaceClientSpaceTakeAction {
diff --git a/src/main/java/emissary/util/PkiUtil.java b/src/main/java/emissary/util/PkiUtil.java
index 493609f8d7..1bfb2d8afd 100644
--- a/src/main/java/emissary/util/PkiUtil.java
+++ b/src/main/java/emissary/util/PkiUtil.java
@@ -1,5 +1,6 @@
package emissary.util;
+import jakarta.xml.bind.DatatypeConverter;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,7 +23,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
-import javax.xml.bind.DatatypeConverter;
import static java.nio.charset.StandardCharsets.US_ASCII;
diff --git a/src/test/java/emissary/directory/HeartbeatManagerTest.java b/src/test/java/emissary/directory/HeartbeatManagerTest.java
index 6201ae0483..30f7758eee 100644
--- a/src/test/java/emissary/directory/HeartbeatManagerTest.java
+++ b/src/test/java/emissary/directory/HeartbeatManagerTest.java
@@ -4,6 +4,7 @@
import emissary.client.EmissaryResponse;
import emissary.test.core.junit5.UnitTest;
+import jakarta.ws.rs.core.MediaType;
import org.apache.commons.io.IOUtils;
import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -18,7 +19,6 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import javax.ws.rs.core.MediaType;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/src/test/java/emissary/server/InitializeContextTest.java b/src/test/java/emissary/server/InitializeContextTest.java
index 89a40f5e07..fe91d0dba9 100644
--- a/src/test/java/emissary/server/InitializeContextTest.java
+++ b/src/test/java/emissary/server/InitializeContextTest.java
@@ -4,11 +4,10 @@
import emissary.directory.EmissaryNode;
import emissary.test.core.junit5.UnitTest;
+import jakarta.servlet.ServletContextEvent;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import javax.servlet.ServletContextEvent;
-
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
diff --git a/src/test/java/emissary/server/api/EmissaryApiTest.java b/src/test/java/emissary/server/api/EmissaryApiTest.java
index a1fbd2d659..05e009e848 100644
--- a/src/test/java/emissary/server/api/EmissaryApiTest.java
+++ b/src/test/java/emissary/server/api/EmissaryApiTest.java
@@ -22,6 +22,7 @@
import com.codahale.metrics.health.HealthCheck;
import com.codahale.metrics.health.HealthCheckRegistry;
import com.google.common.collect.Sets;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.AfterEach;
@@ -38,7 +39,6 @@
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
-import javax.ws.rs.core.Response;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/src/test/java/emissary/server/api/PeersIT.java b/src/test/java/emissary/server/api/PeersIT.java
index b45213a1e1..1217e0ae3d 100644
--- a/src/test/java/emissary/server/api/PeersIT.java
+++ b/src/test/java/emissary/server/api/PeersIT.java
@@ -12,6 +12,7 @@
import emissary.server.mvc.EndpointTestBase;
import com.google.common.collect.Sets;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.collections4.CollectionUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -22,7 +23,6 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
-import javax.ws.rs.core.Response;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertIterableEquals;
diff --git a/src/test/java/emissary/server/mvc/EmissaryMvcTest.java b/src/test/java/emissary/server/mvc/EmissaryMvcTest.java
index fb180db154..147480d3f8 100644
--- a/src/test/java/emissary/server/mvc/EmissaryMvcTest.java
+++ b/src/test/java/emissary/server/mvc/EmissaryMvcTest.java
@@ -6,14 +6,14 @@
import emissary.directory.IDirectoryPlace;
import emissary.util.Version;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.Test;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git a/src/test/java/emissary/server/mvc/EndpointTestBase.java b/src/test/java/emissary/server/mvc/EndpointTestBase.java
index cdd1cec7e1..c522e64db8 100644
--- a/src/test/java/emissary/server/mvc/EndpointTestBase.java
+++ b/src/test/java/emissary/server/mvc/EndpointTestBase.java
@@ -3,6 +3,7 @@
import emissary.core.Namespace;
import emissary.test.core.junit5.UnitTest;
+import jakarta.ws.rs.core.Application;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.mvc.mustache.MustacheMvcFeature;
@@ -10,8 +11,6 @@
import org.glassfish.jersey.test.TestProperties;
import org.junit.jupiter.api.AfterAll;
-import javax.ws.rs.core.Application;
-
public abstract class EndpointTestBase extends JerseyTest {
@AfterAll
diff --git a/src/test/java/emissary/server/mvc/adapters/RequestUtilTest.java b/src/test/java/emissary/server/mvc/adapters/RequestUtilTest.java
index f18678d848..99f2b2249b 100644
--- a/src/test/java/emissary/server/mvc/adapters/RequestUtilTest.java
+++ b/src/test/java/emissary/server/mvc/adapters/RequestUtilTest.java
@@ -2,11 +2,11 @@
import emissary.test.core.junit5.UnitTest;
+import jakarta.servlet.ServletRequest;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.List;
-import javax.servlet.ServletRequest;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/src/test/java/emissary/server/mvc/internal/DeregisterPlaceActionTest.java b/src/test/java/emissary/server/mvc/internal/DeregisterPlaceActionTest.java
index 5ef9b32b32..6d810a2154 100644
--- a/src/test/java/emissary/server/mvc/internal/DeregisterPlaceActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/DeregisterPlaceActionTest.java
@@ -6,6 +6,9 @@
import emissary.server.mvc.EndpointTestBase;
import emissary.util.io.ResourceReader;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -15,9 +18,6 @@
import java.util.Arrays;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_KEY;
import static emissary.server.mvc.adapters.DirectoryAdapter.TARGET_DIRECTORY;
diff --git a/src/test/java/emissary/server/mvc/internal/FailDirectoryActionTest.java b/src/test/java/emissary/server/mvc/internal/FailDirectoryActionTest.java
index 89292eef56..a33451469e 100644
--- a/src/test/java/emissary/server/mvc/internal/FailDirectoryActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/FailDirectoryActionTest.java
@@ -7,6 +7,9 @@
import emissary.util.io.ResourceReader;
import com.google.common.collect.Sets;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -15,9 +18,6 @@
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_KEY;
import static emissary.server.mvc.adapters.DirectoryAdapter.ADD_PROPAGATION_FLAG;
diff --git a/src/test/java/emissary/server/mvc/internal/HeartbeatActionTest.java b/src/test/java/emissary/server/mvc/internal/HeartbeatActionTest.java
index 22928c459d..5d74ee6869 100644
--- a/src/test/java/emissary/server/mvc/internal/HeartbeatActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/HeartbeatActionTest.java
@@ -7,6 +7,9 @@
import emissary.server.mvc.EndpointTestBase;
import emissary.server.mvc.adapters.HeartbeatAdapter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -15,9 +18,6 @@
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/src/test/java/emissary/server/mvc/internal/RegisterPeerActionTest.java b/src/test/java/emissary/server/mvc/internal/RegisterPeerActionTest.java
index a795d69074..6b05ef74ce 100644
--- a/src/test/java/emissary/server/mvc/internal/RegisterPeerActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/RegisterPeerActionTest.java
@@ -6,6 +6,9 @@
import emissary.directory.EmissaryNode;
import emissary.server.mvc.EndpointTestBase;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -15,9 +18,6 @@
import java.io.IOException;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.DirectoryAdapter.DIRECTORY_NAME;
import static emissary.server.mvc.adapters.DirectoryAdapter.TARGET_DIRECTORY;
diff --git a/src/test/java/emissary/server/mvc/internal/WorkBundleCompletedActionTest.java b/src/test/java/emissary/server/mvc/internal/WorkBundleCompletedActionTest.java
index baac43f4e5..93f33ba4cc 100644
--- a/src/test/java/emissary/server/mvc/internal/WorkBundleCompletedActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/WorkBundleCompletedActionTest.java
@@ -4,6 +4,9 @@
import emissary.pickup.WorkSpace;
import emissary.server.mvc.EndpointTestBase;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -12,9 +15,6 @@
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.adapters.WorkSpaceAdapter.WORK_BUNDLE_ID;
import static emissary.server.mvc.adapters.WorkSpaceAdapter.WORK_BUNDLE_STATUS;
diff --git a/src/test/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeActionTest.java b/src/test/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeActionTest.java
index 04d374dfa1..95fa1e92ee 100644
--- a/src/test/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeActionTest.java
+++ b/src/test/java/emissary/server/mvc/internal/WorkSpaceClientSpaceTakeActionTest.java
@@ -5,6 +5,9 @@
import emissary.pickup.WorkSpace;
import emissary.server.mvc.EndpointTestBase;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -13,9 +16,6 @@
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Collections;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
import static emissary.server.mvc.internal.WorkSpaceClientSpaceTakeAction.CLIENT_NAME;
import static emissary.server.mvc.internal.WorkSpaceClientSpaceTakeAction.SPACE_NAME;
diff --git a/src/test/java/emissary/test/core/junit5/ExtractionTest.java b/src/test/java/emissary/test/core/junit5/ExtractionTest.java
index f4e4626803..5ffe258c3a 100644
--- a/src/test/java/emissary/test/core/junit5/ExtractionTest.java
+++ b/src/test/java/emissary/test/core/junit5/ExtractionTest.java
@@ -9,6 +9,7 @@
import emissary.util.xml.JDOMUtil;
import com.google.errorprone.annotations.ForOverride;
+import jakarta.xml.bind.DatatypeConverter;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
@@ -32,7 +33,6 @@
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;
-import javax.xml.bind.DatatypeConverter;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/src/test/java/emissary/util/magic/MagicNumberTest.java b/src/test/java/emissary/util/magic/MagicNumberTest.java
index 69af9a2ec9..6b574e38c3 100644
--- a/src/test/java/emissary/util/magic/MagicNumberTest.java
+++ b/src/test/java/emissary/util/magic/MagicNumberTest.java
@@ -2,10 +2,9 @@
import emissary.test.core.junit5.UnitTest;
+import jakarta.xml.bind.DatatypeConverter;
import org.junit.jupiter.api.Test;
-import javax.xml.bind.DatatypeConverter;
-
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;