diff --git a/alpine-executable-war/pom.xml b/alpine-executable-war/pom.xml
index ad71f436..bc43b05d 100644
--- a/alpine-executable-war/pom.xml
+++ b/alpine-executable-war/pom.xml
@@ -32,15 +32,13 @@
1.0.1
- 4.0.2
- 10.0.18
+ 12.0.9
jakarta.servlet
jakarta.servlet-api
- ${lib.servlet-api.version}
provided
@@ -49,8 +47,8 @@
${lib.jetty.version}
- org.eclipse.jetty
- jetty-webapp
+ org.eclipse.jetty.ee10
+ jetty-ee10-webapp
${lib.jetty.version}
@@ -61,12 +59,10 @@
org.slf4j
slf4j-api
- ${lib.slf4j.version}
ch.qos.logback
logback-classic
- ${lib.logback.version}
runtime
diff --git a/alpine-executable-war/src/main/java/alpine/embedded/EmbeddedJettyServer.java b/alpine-executable-war/src/main/java/alpine/embedded/EmbeddedJettyServer.java
index e10868a4..b22ecdf9 100644
--- a/alpine-executable-war/src/main/java/alpine/embedded/EmbeddedJettyServer.java
+++ b/alpine-executable-war/src/main/java/alpine/embedded/EmbeddedJettyServer.java
@@ -18,20 +18,19 @@
*/
package alpine.embedded;
+import org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler;
+import org.eclipse.jetty.ee10.webapp.WebAppContext;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
-import org.eclipse.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.util.Callback;
import org.slf4j.Logger;
import org.slf4j.bridge.SLF4JBridgeHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.security.ProtectionDomain;
@@ -86,9 +85,9 @@ public static void main(final String[] args) throws Exception {
context.setAttribute("org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern", ".*/[^/]*taglibs.*\\.jar$");
// Prevent loading of logging classes
- context.getSystemClassMatcher().add("org.apache.log4j.");
- context.getSystemClassMatcher().add("org.slf4j.");
- context.getSystemClassMatcher().add("org.apache.commons.logging.");
+ context.getProtectedClassMatcher().add("org.apache.log4j.");
+ context.getProtectedClassMatcher().add("org.slf4j.");
+ context.getProtectedClassMatcher().add("org.apache.commons.logging.");
final ProtectionDomain protectionDomain = EmbeddedJettyServer.class.getProtectionDomain();
final URL location = protectionDomain.getCodeSource().getLocation();
@@ -118,8 +117,10 @@ private static void disableServerVersionHeader(Connector connector) {
*/
private static class ErrorHandler extends ErrorPageErrorHandler {
@Override
- public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException {
+ public boolean handle(final Request request, final Response response, final Callback callback) throws Exception {
response.setStatus(response.getStatus());
+ callback.succeeded();
+ return true;
}
}
diff --git a/alpine-model/src/main/java/alpine/model/About.java b/alpine-model/src/main/java/alpine/model/About.java
index b313b866..94c63d03 100644
--- a/alpine-model/src/main/java/alpine/model/About.java
+++ b/alpine-model/src/main/java/alpine/model/About.java
@@ -24,7 +24,6 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import javax.inject.Singleton;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@@ -38,7 +37,6 @@
* @author Steve Springett
* @since 1.0.0
*/
-@Singleton
public class About implements Serializable {
private static final long serialVersionUID = -7573425245706188307L;
diff --git a/alpine-model/src/main/java/alpine/model/ApiKey.java b/alpine-model/src/main/java/alpine/model/ApiKey.java
index 4cf1d189..fe9e3e3a 100644
--- a/alpine-model/src/main/java/alpine/model/ApiKey.java
+++ b/alpine-model/src/main/java/alpine/model/ApiKey.java
@@ -22,6 +22,9 @@
import alpine.common.validation.RegexSequence;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Element;
import javax.jdo.annotations.Extension;
@@ -32,9 +35,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.security.Principal;
import java.util.Date;
diff --git a/alpine-model/src/main/java/alpine/model/ConfigProperty.java b/alpine-model/src/main/java/alpine/model/ConfigProperty.java
index b8294eb7..eeff6665 100644
--- a/alpine-model/src/main/java/alpine/model/ConfigProperty.java
+++ b/alpine-model/src/main/java/alpine/model/ConfigProperty.java
@@ -21,16 +21,16 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
/**
diff --git a/alpine-model/src/main/java/alpine/model/EventServiceLog.java b/alpine-model/src/main/java/alpine/model/EventServiceLog.java
index 4b1c6b9d..441cca31 100644
--- a/alpine-model/src/main/java/alpine/model/EventServiceLog.java
+++ b/alpine-model/src/main/java/alpine/model/EventServiceLog.java
@@ -20,13 +20,13 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
+import jakarta.validation.constraints.NotBlank;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.Index;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
-import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.sql.Timestamp;
diff --git a/alpine-model/src/main/java/alpine/model/InstalledUpgrades.java b/alpine-model/src/main/java/alpine/model/InstalledUpgrades.java
index f39d9683..2885755e 100644
--- a/alpine-model/src/main/java/alpine/model/InstalledUpgrades.java
+++ b/alpine-model/src/main/java/alpine/model/InstalledUpgrades.java
@@ -20,14 +20,14 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.sql.Timestamp;
diff --git a/alpine-model/src/main/java/alpine/model/LdapUser.java b/alpine-model/src/main/java/alpine/model/LdapUser.java
index d1c01aa4..a017b573 100644
--- a/alpine-model/src/main/java/alpine/model/LdapUser.java
+++ b/alpine-model/src/main/java/alpine/model/LdapUser.java
@@ -21,6 +21,9 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Element;
import javax.jdo.annotations.Extension;
@@ -31,9 +34,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.security.Principal;
import java.util.List;
diff --git a/alpine-model/src/main/java/alpine/model/ManagedUser.java b/alpine-model/src/main/java/alpine/model/ManagedUser.java
index 660f4a27..ecf1c54a 100644
--- a/alpine-model/src/main/java/alpine/model/ManagedUser.java
+++ b/alpine-model/src/main/java/alpine/model/ManagedUser.java
@@ -21,6 +21,10 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Element;
import javax.jdo.annotations.Extension;
@@ -31,10 +35,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.security.Principal;
import java.util.Date;
diff --git a/alpine-model/src/main/java/alpine/model/MappedLdapGroup.java b/alpine-model/src/main/java/alpine/model/MappedLdapGroup.java
index b9ba7a1d..74fd0c56 100644
--- a/alpine-model/src/main/java/alpine/model/MappedLdapGroup.java
+++ b/alpine-model/src/main/java/alpine/model/MappedLdapGroup.java
@@ -21,16 +21,16 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.UUID;
diff --git a/alpine-model/src/main/java/alpine/model/MappedOidcGroup.java b/alpine-model/src/main/java/alpine/model/MappedOidcGroup.java
index 4eb28dfe..dcc25005 100644
--- a/alpine-model/src/main/java/alpine/model/MappedOidcGroup.java
+++ b/alpine-model/src/main/java/alpine/model/MappedOidcGroup.java
@@ -22,13 +22,13 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotNull;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotNull;
import java.util.UUID;
/**
diff --git a/alpine-model/src/main/java/alpine/model/OidcGroup.java b/alpine-model/src/main/java/alpine/model/OidcGroup.java
index f20c0a80..5b21138a 100644
--- a/alpine-model/src/main/java/alpine/model/OidcGroup.java
+++ b/alpine-model/src/main/java/alpine/model/OidcGroup.java
@@ -22,16 +22,16 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.UUID;
diff --git a/alpine-model/src/main/java/alpine/model/OidcUser.java b/alpine-model/src/main/java/alpine/model/OidcUser.java
index 6ff4e050..30fa19e2 100644
--- a/alpine-model/src/main/java/alpine/model/OidcUser.java
+++ b/alpine-model/src/main/java/alpine/model/OidcUser.java
@@ -22,6 +22,9 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Element;
import javax.jdo.annotations.Extension;
@@ -32,9 +35,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.security.Principal;
import java.util.List;
diff --git a/alpine-model/src/main/java/alpine/model/Permission.java b/alpine-model/src/main/java/alpine/model/Permission.java
index c58d9083..b1f6a10e 100644
--- a/alpine-model/src/main/java/alpine/model/Permission.java
+++ b/alpine-model/src/main/java/alpine/model/Permission.java
@@ -22,6 +22,9 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -30,9 +33,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
diff --git a/alpine-model/src/main/java/alpine/model/SchemaVersion.java b/alpine-model/src/main/java/alpine/model/SchemaVersion.java
index 17ba86fe..cd590004 100644
--- a/alpine-model/src/main/java/alpine/model/SchemaVersion.java
+++ b/alpine-model/src/main/java/alpine/model/SchemaVersion.java
@@ -20,14 +20,14 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
/**
diff --git a/alpine-model/src/main/java/alpine/model/Team.java b/alpine-model/src/main/java/alpine/model/Team.java
index 595bf92b..df2cfe8d 100644
--- a/alpine-model/src/main/java/alpine/model/Team.java
+++ b/alpine-model/src/main/java/alpine/model/Team.java
@@ -21,6 +21,10 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Element;
import javax.jdo.annotations.Extension;
@@ -33,10 +37,6 @@
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Unique;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
diff --git a/alpine-server/pom.xml b/alpine-server/pom.xml
index 91a857c0..667c68b3 100644
--- a/alpine-server/pom.xml
+++ b/alpine-server/pom.xml
@@ -72,8 +72,8 @@
- javax.servlet
- javax.servlet-api
+ jakarta.servlet
+ jakarta.servlet-api
provided
@@ -98,29 +98,25 @@
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
- com.sun.xml.bind
- jaxb-core
-
-
- com.sun.xml.bind
- jaxb-impl
+ org.glassfish.jaxb
+ jaxb-runtime
- javax.json
- javax.json-api
+ jakarta.json
+ jakarta.json-api
- org.glassfish
- javax.json
+ org.eclipse.parsson
+ jakarta.json
io.swagger.core.v3
- swagger-annotations
+ swagger-annotations-jakarta
@@ -174,12 +170,12 @@
jackson-annotations
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-base
+ com.fasterxml.jackson.jakarta.rs
+ jackson-jakarta-rs-base
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
+ com.fasterxml.jackson.jakarta.rs
+ jackson-jakarta-rs-json-provider
com.fasterxml.jackson.datatype
@@ -227,8 +223,12 @@
- com.sun.mail
- jakarta.mail
+ jakarta.mail
+ jakarta.mail-api
+
+
+ org.eclipse.angus
+ angus-mail
diff --git a/alpine-server/src/main/java/alpine/server/AlpineServlet.java b/alpine-server/src/main/java/alpine/server/AlpineServlet.java
index 09d48b23..b829dc93 100644
--- a/alpine-server/src/main/java/alpine/server/AlpineServlet.java
+++ b/alpine-server/src/main/java/alpine/server/AlpineServlet.java
@@ -26,8 +26,8 @@
import org.owasp.security.logging.util.SecurityLoggingFactory;
import org.owasp.security.logging.util.SecurityUtil;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
/**
* The AlpineServlet is the main servlet which extends
diff --git a/alpine-server/src/main/java/alpine/server/auth/AlpineCookie.java b/alpine-server/src/main/java/alpine/server/auth/AlpineCookie.java
index a1335a58..5ca1b226 100644
--- a/alpine-server/src/main/java/alpine/server/auth/AlpineCookie.java
+++ b/alpine-server/src/main/java/alpine/server/auth/AlpineCookie.java
@@ -18,7 +18,7 @@
*/
package alpine.server.auth;
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.NewCookie;
/**
* Alpine Cookies are secure with the HttpOnly, Secure, and Samesite flags enabled.
diff --git a/alpine-server/src/main/java/alpine/server/auth/AuthenticationNotRequired.java b/alpine-server/src/main/java/alpine/server/auth/AuthenticationNotRequired.java
index 2f6f4241..6daa54d3 100644
--- a/alpine-server/src/main/java/alpine/server/auth/AuthenticationNotRequired.java
+++ b/alpine-server/src/main/java/alpine/server/auth/AuthenticationNotRequired.java
@@ -18,7 +18,7 @@
*/
package alpine.server.auth;
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/alpine-server/src/main/java/alpine/server/auth/AuthenticationService.java b/alpine-server/src/main/java/alpine/server/auth/AuthenticationService.java
index 291cf1f1..dee44c28 100644
--- a/alpine-server/src/main/java/alpine/server/auth/AuthenticationService.java
+++ b/alpine-server/src/main/java/alpine/server/auth/AuthenticationService.java
@@ -18,7 +18,7 @@
*/
package alpine.server.auth;
-import javax.annotation.Nullable;
+import jakarta.annotation.Nullable;
import javax.naming.AuthenticationException;
import java.security.Principal;
diff --git a/alpine-server/src/main/java/alpine/server/auth/JsonWebToken.java b/alpine-server/src/main/java/alpine/server/auth/JsonWebToken.java
index 5e2ea5da..1686ecb1 100644
--- a/alpine-server/src/main/java/alpine/server/auth/JsonWebToken.java
+++ b/alpine-server/src/main/java/alpine/server/auth/JsonWebToken.java
@@ -31,13 +31,12 @@
import io.jsonwebtoken.JwtParser;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.MalformedJwtException;
-import io.jsonwebtoken.SignatureAlgorithm;
-import io.jsonwebtoken.SignatureException;
import io.jsonwebtoken.UnsupportedJwtException;
+import io.jsonwebtoken.security.Keys;
+import io.jsonwebtoken.security.SignatureException;
import org.owasp.security.logging.SecurityMarkers;
import javax.crypto.SecretKey;
-import java.security.Key;
import java.security.Principal;
import java.util.Calendar;
import java.util.Date;
@@ -66,7 +65,7 @@ public class JsonWebToken {
}
}
- private final Key key;
+ private final SecretKey key;
private String subject;
private Date expiration;
private IdentityProvider identityProvider;
@@ -81,7 +80,10 @@ public class JsonWebToken {
* @since 1.0.0
*/
public JsonWebToken(final SecretKey key) {
- this.key = key;
+ // NB: JJWT will throw if the key's algorithm is not explicitly any of: HmacSHA512, HmacSHA384, or HmacSHA256.
+ // Alpine generates its secret key with algorithm AES per default.
+ // Keys#hmacShaKeyFor will pick the correct HmacSHA* algorithm based on the key's bit length.
+ this.key = Keys.hmacShaKeyFor(key.getEncoded());
}
/**
@@ -92,7 +94,7 @@ public JsonWebToken(final SecretKey key) {
* @since 1.0.0
*/
public JsonWebToken() {
- this.key = KeyManager.getInstance().getSecretKey();
+ this(KeyManager.getInstance().getSecretKey());
}
/**
@@ -150,10 +152,10 @@ public String createToken(final Principal principal, final List perm
public String createToken(final Principal principal, final List permissions, final IdentityProvider identityProvider, final int ttlSeconds) {
final Date now = new Date();
final JwtBuilder jwtBuilder = Jwts.builder();
- jwtBuilder.setSubject(principal.getName());
- jwtBuilder.setIssuer(ISSUER);
- jwtBuilder.setIssuedAt(now);
- jwtBuilder.setExpiration(addSeconds(now, ttlSeconds));
+ jwtBuilder.subject(principal.getName());
+ jwtBuilder.issuer(ISSUER);
+ jwtBuilder.issuedAt(now);
+ jwtBuilder.expiration(addSeconds(now, ttlSeconds));
if (permissions != null) {
jwtBuilder.claim("permissions", permissions.stream()
.map(Permission::getName)
@@ -171,7 +173,7 @@ public String createToken(final Principal principal, final List perm
jwtBuilder.claim(IDENTITY_PROVIDER_CLAIM, IdentityProvider.LOCAL.name());
}
}
- return jwtBuilder.signWith(SignatureAlgorithm.HS256, key).compact();
+ return jwtBuilder.signWith(key).compact();
}
/**
@@ -184,8 +186,8 @@ public String createToken(final Principal principal, final List perm
*/
public String createToken(final Map claims) {
final JwtBuilder jwtBuilder = Jwts.builder();
- jwtBuilder.setClaims(claims);
- return jwtBuilder.signWith(SignatureAlgorithm.HS256, key).compact();
+ jwtBuilder.claims(claims);
+ return jwtBuilder.signWith(key).compact();
}
/**
@@ -198,11 +200,11 @@ public String createToken(final Map claims) {
*/
public boolean validateToken(final String token) {
try {
- final JwtParser jwtParser = Jwts.parser().setSigningKey(key);
- final Jws claims = jwtParser.parseClaimsJws(token);
- this.subject = claims.getBody().getSubject();
- this.expiration = claims.getBody().getExpiration();
- this.identityProvider = IdentityProvider.forName(claims.getBody().get(IDENTITY_PROVIDER_CLAIM, String.class));
+ final JwtParser jwtParser = Jwts.parser().verifyWith(key).build();
+ final Jws claims = jwtParser.parseSignedClaims(token);
+ this.subject = claims.getPayload().getSubject();
+ this.expiration = claims.getPayload().getExpiration();
+ this.identityProvider = IdentityProvider.forName(claims.getPayload().get(IDENTITY_PROVIDER_CLAIM, String.class));
return true;
} catch (SignatureException e) {
LOGGER.info(SecurityMarkers.SECURITY_FAILURE, "Received token that did not pass signature verification");
diff --git a/alpine-server/src/main/java/alpine/server/auth/JwtAuthenticationService.java b/alpine-server/src/main/java/alpine/server/auth/JwtAuthenticationService.java
index 9bab7e19..574c7078 100644
--- a/alpine-server/src/main/java/alpine/server/auth/JwtAuthenticationService.java
+++ b/alpine-server/src/main/java/alpine/server/auth/JwtAuthenticationService.java
@@ -22,12 +22,11 @@
import alpine.model.ManagedUser;
import alpine.model.OidcUser;
import alpine.persistence.AlpineQueryManager;
-import alpine.security.crypto.KeyManager;
import org.glassfish.jersey.server.ContainerRequest;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
import javax.naming.AuthenticationException;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
import java.security.Principal;
import java.util.List;
import java.util.Map;
@@ -63,9 +62,8 @@ public boolean isSpecified() {
* {@inheritDoc}
*/
public Principal authenticate() throws AuthenticationException {
- final KeyManager keyManager = KeyManager.getInstance();
if (bearer != null) {
- final JsonWebToken jwt = new JsonWebToken(keyManager.getSecretKey());
+ final JsonWebToken jwt = new JsonWebToken();
final boolean isValid = jwt.validateToken(bearer);
if (isValid) {
try (AlpineQueryManager qm = new AlpineQueryManager()) {
diff --git a/alpine-server/src/main/java/alpine/server/auth/OidcAuthenticationService.java b/alpine-server/src/main/java/alpine/server/auth/OidcAuthenticationService.java
index 3ffa0fbd..dcb36b39 100644
--- a/alpine-server/src/main/java/alpine/server/auth/OidcAuthenticationService.java
+++ b/alpine-server/src/main/java/alpine/server/auth/OidcAuthenticationService.java
@@ -26,7 +26,7 @@
import alpine.server.util.OidcUtil;
import com.nimbusds.openid.connect.sdk.claims.UserInfo;
-import javax.annotation.Nonnull;
+import jakarta.annotation.Nonnull;
import java.security.Principal;
import java.util.Objects;
diff --git a/alpine-server/src/main/java/alpine/server/auth/OidcConfigurationResolver.java b/alpine-server/src/main/java/alpine/server/auth/OidcConfigurationResolver.java
index e4b8df8d..198e3a3c 100644
--- a/alpine-server/src/main/java/alpine/server/auth/OidcConfigurationResolver.java
+++ b/alpine-server/src/main/java/alpine/server/auth/OidcConfigurationResolver.java
@@ -31,7 +31,7 @@
import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
import net.minidev.json.JSONObject;
-import javax.annotation.Nullable;
+import jakarta.annotation.Nullable;
import java.io.IOException;
import java.net.URL;
diff --git a/alpine-server/src/main/java/alpine/server/filters/ApiFilter.java b/alpine-server/src/main/java/alpine/server/filters/ApiFilter.java
index 891361b4..f71d0b90 100644
--- a/alpine-server/src/main/java/alpine/server/filters/ApiFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/ApiFilter.java
@@ -25,12 +25,12 @@
import org.apache.commons.lang3.StringUtils;
import org.glassfish.jersey.server.ContainerRequest;
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.Provider;
import java.security.Principal;
@Provider
diff --git a/alpine-server/src/main/java/alpine/server/filters/ApiKeyUsageTracker.java b/alpine-server/src/main/java/alpine/server/filters/ApiKeyUsageTracker.java
index 81ebfeda..0b43757d 100644
--- a/alpine-server/src/main/java/alpine/server/filters/ApiKeyUsageTracker.java
+++ b/alpine-server/src/main/java/alpine/server/filters/ApiKeyUsageTracker.java
@@ -28,10 +28,10 @@
import org.glassfish.jersey.server.monitoring.RequestEvent;
import org.glassfish.jersey.server.monitoring.RequestEventListener;
+import jakarta.ws.rs.ext.Provider;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.datastore.JDOConnection;
-import javax.ws.rs.ext.Provider;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
diff --git a/alpine-server/src/main/java/alpine/server/filters/AuthenticationFeature.java b/alpine-server/src/main/java/alpine/server/filters/AuthenticationFeature.java
index 86982415..3da59116 100644
--- a/alpine-server/src/main/java/alpine/server/filters/AuthenticationFeature.java
+++ b/alpine-server/src/main/java/alpine/server/filters/AuthenticationFeature.java
@@ -21,10 +21,10 @@
import alpine.Config;
import alpine.server.auth.AuthenticationNotRequired;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
import java.lang.reflect.Method;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/AuthenticationFilter.java b/alpine-server/src/main/java/alpine/server/filters/AuthenticationFilter.java
index 47c14b75..13ec980c 100644
--- a/alpine-server/src/main/java/alpine/server/filters/AuthenticationFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/AuthenticationFilter.java
@@ -25,13 +25,13 @@
import org.glassfish.jersey.server.ContainerRequest;
import org.owasp.security.logging.SecurityMarkers;
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response;
import javax.naming.AuthenticationException;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response;
import java.security.Principal;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/AuthorizationFeature.java b/alpine-server/src/main/java/alpine/server/filters/AuthorizationFeature.java
index a0c99a6d..ad4e53be 100644
--- a/alpine-server/src/main/java/alpine/server/filters/AuthorizationFeature.java
+++ b/alpine-server/src/main/java/alpine/server/filters/AuthorizationFeature.java
@@ -21,10 +21,10 @@
import alpine.Config;
import alpine.server.auth.PermissionRequired;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
import java.lang.reflect.Method;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/AuthorizationFilter.java b/alpine-server/src/main/java/alpine/server/filters/AuthorizationFilter.java
index 74ed59b1..4d670cb6 100644
--- a/alpine-server/src/main/java/alpine/server/filters/AuthorizationFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/AuthorizationFilter.java
@@ -29,13 +29,13 @@
import org.glassfish.jersey.server.ContainerRequest;
import org.owasp.security.logging.SecurityMarkers;
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-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 jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+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 java.security.Principal;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/BlacklistUrlFilter.java b/alpine-server/src/main/java/alpine/server/filters/BlacklistUrlFilter.java
index 9fab5192..15771812 100644
--- a/alpine-server/src/main/java/alpine/server/filters/BlacklistUrlFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/BlacklistUrlFilter.java
@@ -20,14 +20,14 @@
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
diff --git a/alpine-server/src/main/java/alpine/server/filters/ClickjackingFilter.java b/alpine-server/src/main/java/alpine/server/filters/ClickjackingFilter.java
index 0f3a3fd3..90c3db1d 100644
--- a/alpine-server/src/main/java/alpine/server/filters/ClickjackingFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/ClickjackingFilter.java
@@ -20,13 +20,13 @@
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/ContentSecurityPolicyFilter.java b/alpine-server/src/main/java/alpine/server/filters/ContentSecurityPolicyFilter.java
index 3791575e..11107c6e 100644
--- a/alpine-server/src/main/java/alpine/server/filters/ContentSecurityPolicyFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/ContentSecurityPolicyFilter.java
@@ -20,13 +20,13 @@
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/FqdnForwardFilter.java b/alpine-server/src/main/java/alpine/server/filters/FqdnForwardFilter.java
index 5fefd2bc..22554cb9 100644
--- a/alpine-server/src/main/java/alpine/server/filters/FqdnForwardFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/FqdnForwardFilter.java
@@ -20,14 +20,14 @@
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/GZipInterceptor.java b/alpine-server/src/main/java/alpine/server/filters/GZipInterceptor.java
index 019773d5..cbf45a27 100644
--- a/alpine-server/src/main/java/alpine/server/filters/GZipInterceptor.java
+++ b/alpine-server/src/main/java/alpine/server/filters/GZipInterceptor.java
@@ -18,15 +18,15 @@
*/
package alpine.server.filters;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
diff --git a/alpine-server/src/main/java/alpine/server/filters/HeaderFeature.java b/alpine-server/src/main/java/alpine/server/filters/HeaderFeature.java
index baf2291c..1c9efa51 100644
--- a/alpine-server/src/main/java/alpine/server/filters/HeaderFeature.java
+++ b/alpine-server/src/main/java/alpine/server/filters/HeaderFeature.java
@@ -18,10 +18,10 @@
*/
package alpine.server.filters;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
/**
* Registers the {@link HeaderFilter}.
diff --git a/alpine-server/src/main/java/alpine/server/filters/HeaderFilter.java b/alpine-server/src/main/java/alpine/server/filters/HeaderFilter.java
index 18254641..c6c78f12 100644
--- a/alpine-server/src/main/java/alpine/server/filters/HeaderFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/HeaderFilter.java
@@ -21,12 +21,12 @@
import alpine.Config;
import org.apache.commons.lang3.StringUtils;
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.HttpHeaders;
/**
* Adds Powered-By and cache-control headers.
diff --git a/alpine-server/src/main/java/alpine/server/filters/HpkpFilter.java b/alpine-server/src/main/java/alpine/server/filters/HpkpFilter.java
index 73600437..26f03621 100644
--- a/alpine-server/src/main/java/alpine/server/filters/HpkpFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/HpkpFilter.java
@@ -20,14 +20,14 @@
import alpine.common.util.BooleanUtil;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/HstsFilter.java b/alpine-server/src/main/java/alpine/server/filters/HstsFilter.java
index a9f6b07f..748ce68e 100644
--- a/alpine-server/src/main/java/alpine/server/filters/HstsFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/HstsFilter.java
@@ -20,14 +20,14 @@
import alpine.common.util.BooleanUtil;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/PrettyPrintFilter.java b/alpine-server/src/main/java/alpine/server/filters/PrettyPrintFilter.java
index 112e5478..e3a63d07 100644
--- a/alpine-server/src/main/java/alpine/server/filters/PrettyPrintFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/PrettyPrintFilter.java
@@ -20,16 +20,16 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.jaxrs.cfg.EndpointConfigBase;
-import com.fasterxml.jackson.jaxrs.cfg.ObjectWriterInjector;
-import com.fasterxml.jackson.jaxrs.cfg.ObjectWriterModifier;
+import com.fasterxml.jackson.jakarta.rs.cfg.EndpointConfigBase;
+import com.fasterxml.jackson.jakarta.rs.cfg.ObjectWriterInjector;
+import com.fasterxml.jackson.jakarta.rs.cfg.ObjectWriterModifier;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/filters/RequestIdFilter.java b/alpine-server/src/main/java/alpine/server/filters/RequestIdFilter.java
index dc74ecb3..20e73d7c 100644
--- a/alpine-server/src/main/java/alpine/server/filters/RequestIdFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/RequestIdFilter.java
@@ -20,12 +20,12 @@
import org.slf4j.MDC;
-import javax.annotation.Priority;
-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.ext.Provider;
+import jakarta.annotation.Priority;
+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.ext.Provider;
import java.io.IOException;
import java.util.UUID;
import java.util.regex.Pattern;
diff --git a/alpine-server/src/main/java/alpine/server/filters/RequestRateThrottleFilter.java b/alpine-server/src/main/java/alpine/server/filters/RequestRateThrottleFilter.java
index a2ea17db..4cb50f25 100644
--- a/alpine-server/src/main/java/alpine/server/filters/RequestRateThrottleFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/RequestRateThrottleFilter.java
@@ -20,15 +20,15 @@
import alpine.server.util.HttpUtil;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Date;
import java.util.Stack;
diff --git a/alpine-server/src/main/java/alpine/server/filters/WhitelistUrlFilter.java b/alpine-server/src/main/java/alpine/server/filters/WhitelistUrlFilter.java
index c68ecbee..d726b802 100644
--- a/alpine-server/src/main/java/alpine/server/filters/WhitelistUrlFilter.java
+++ b/alpine-server/src/main/java/alpine/server/filters/WhitelistUrlFilter.java
@@ -20,14 +20,14 @@
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
diff --git a/alpine-server/src/main/java/alpine/server/mail/SendMail.java b/alpine-server/src/main/java/alpine/server/mail/SendMail.java
index c92121ae..e342941d 100644
--- a/alpine-server/src/main/java/alpine/server/mail/SendMail.java
+++ b/alpine-server/src/main/java/alpine/server/mail/SendMail.java
@@ -19,24 +19,24 @@
package alpine.server.mail;
import alpine.security.crypto.RelaxedX509TrustManager;
-import com.sun.mail.util.MailSSLSocketFactory;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.activation.FileDataSource;
-import javax.mail.Address;
-import javax.mail.BodyPart;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.PasswordAuthentication;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
+import org.eclipse.angus.mail.util.MailSSLSocketFactory;
+
+import jakarta.activation.DataHandler;
+import jakarta.activation.DataSource;
+import jakarta.activation.FileDataSource;
+import jakarta.mail.Address;
+import jakarta.mail.BodyPart;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
+import jakarta.mail.Multipart;
+import jakarta.mail.PasswordAuthentication;
+import jakarta.mail.Session;
+import jakarta.mail.Transport;
+import jakarta.mail.internet.AddressException;
+import jakarta.mail.internet.InternetAddress;
+import jakarta.mail.internet.MimeBodyPart;
+import jakarta.mail.internet.MimeMessage;
+import jakarta.mail.internet.MimeMultipart;
import javax.net.ssl.TrustManager;
import java.io.File;
import java.security.GeneralSecurityException;
@@ -209,7 +209,7 @@ public void send() throws SendMailException {
props.put("mail.smtp.auth.ntlm.domain", host);
}
- final Session session = Session.getInstance(props, new javax.mail.Authenticator() {
+ final Session session = Session.getInstance(props, new jakarta.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
diff --git a/alpine-server/src/main/java/alpine/server/metrics/MetricsInitializer.java b/alpine-server/src/main/java/alpine/server/metrics/MetricsInitializer.java
index 7365b0e3..97e2eb14 100644
--- a/alpine-server/src/main/java/alpine/server/metrics/MetricsInitializer.java
+++ b/alpine-server/src/main/java/alpine/server/metrics/MetricsInitializer.java
@@ -30,8 +30,8 @@
import io.micrometer.core.instrument.binder.system.ProcessorMetrics;
import io.micrometer.core.instrument.binder.system.UptimeMetrics;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
/**
* @since 2.1.0
diff --git a/alpine-server/src/main/java/alpine/server/persistence/PersistenceInitializer.java b/alpine-server/src/main/java/alpine/server/persistence/PersistenceInitializer.java
index 6298c25a..4feff6a8 100644
--- a/alpine-server/src/main/java/alpine/server/persistence/PersistenceInitializer.java
+++ b/alpine-server/src/main/java/alpine/server/persistence/PersistenceInitializer.java
@@ -23,8 +23,8 @@
import org.apache.commons.lang3.StringUtils;
import org.h2.tools.Server;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
import java.sql.SQLException;
/**
diff --git a/alpine-server/src/main/java/alpine/server/persistence/PersistenceManagerFactory.java b/alpine-server/src/main/java/alpine/server/persistence/PersistenceManagerFactory.java
index 2f8c0d70..73373752 100644
--- a/alpine-server/src/main/java/alpine/server/persistence/PersistenceManagerFactory.java
+++ b/alpine-server/src/main/java/alpine/server/persistence/PersistenceManagerFactory.java
@@ -34,10 +34,10 @@
import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
import org.datanucleus.store.schema.SchemaAwareStoreManager;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
import javax.sql.DataSource;
import java.util.HashSet;
import java.util.Properties;
diff --git a/alpine-server/src/main/java/alpine/server/resources/AlpineResource.java b/alpine-server/src/main/java/alpine/server/resources/AlpineResource.java
index 2feb6f60..3131442a 100644
--- a/alpine-server/src/main/java/alpine/server/resources/AlpineResource.java
+++ b/alpine-server/src/main/java/alpine/server/resources/AlpineResource.java
@@ -34,16 +34,16 @@
import org.owasp.security.logging.SecurityMarkers;
import org.slf4j.Marker;
-import javax.servlet.http.HttpServletRequest;
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
diff --git a/alpine-server/src/main/java/alpine/server/resources/GlobalExceptionHandler.java b/alpine-server/src/main/java/alpine/server/resources/GlobalExceptionHandler.java
index 0dc95309..90415905 100644
--- a/alpine-server/src/main/java/alpine/server/resources/GlobalExceptionHandler.java
+++ b/alpine-server/src/main/java/alpine/server/resources/GlobalExceptionHandler.java
@@ -20,9 +20,9 @@
import alpine.common.logging.Logger;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
@Provider
public class GlobalExceptionHandler implements ExceptionMapper {
diff --git a/alpine-server/src/main/java/alpine/server/resources/VersionResource.java b/alpine-server/src/main/java/alpine/server/resources/VersionResource.java
index c2eb9d18..a7d4ab45 100644
--- a/alpine-server/src/main/java/alpine/server/resources/VersionResource.java
+++ b/alpine-server/src/main/java/alpine/server/resources/VersionResource.java
@@ -26,12 +26,12 @@
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
/**
* Bundled JAX-RS resource that displays the name of the application, version, and build timestamp.
diff --git a/alpine-server/src/main/java/alpine/server/servlets/FileSystemResourceServlet.java b/alpine-server/src/main/java/alpine/server/servlets/FileSystemResourceServlet.java
index 972ab9d3..a260862e 100644
--- a/alpine-server/src/main/java/alpine/server/servlets/FileSystemResourceServlet.java
+++ b/alpine-server/src/main/java/alpine/server/servlets/FileSystemResourceServlet.java
@@ -22,10 +22,10 @@
import alpine.common.util.BooleanUtil;
import org.apache.commons.lang3.StringUtils;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
diff --git a/alpine-server/src/main/java/alpine/server/servlets/HealthServlet.java b/alpine-server/src/main/java/alpine/server/servlets/HealthServlet.java
index 202dfb9a..fe8169e1 100644
--- a/alpine-server/src/main/java/alpine/server/servlets/HealthServlet.java
+++ b/alpine-server/src/main/java/alpine/server/servlets/HealthServlet.java
@@ -32,12 +32,12 @@
import org.eclipse.microprofile.health.Readiness;
import org.eclipse.microprofile.health.Startup;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/alpine-server/src/main/java/alpine/server/servlets/MetricsServlet.java b/alpine-server/src/main/java/alpine/server/servlets/MetricsServlet.java
index 144764ae..1d34908b 100644
--- a/alpine-server/src/main/java/alpine/server/servlets/MetricsServlet.java
+++ b/alpine-server/src/main/java/alpine/server/servlets/MetricsServlet.java
@@ -25,11 +25,11 @@
import org.apache.commons.lang3.StringUtils;
import org.owasp.security.logging.SecurityMarkers;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.core.HttpHeaders;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
diff --git a/alpine-server/src/main/java/alpine/server/servlets/StaticResourceServlet.java b/alpine-server/src/main/java/alpine/server/servlets/StaticResourceServlet.java
index 09bd2e81..109fe0f5 100644
--- a/alpine-server/src/main/java/alpine/server/servlets/StaticResourceServlet.java
+++ b/alpine-server/src/main/java/alpine/server/servlets/StaticResourceServlet.java
@@ -18,10 +18,10 @@
*/
package alpine.server.servlets;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.ByteBuffer;
diff --git a/alpine-server/src/main/java/alpine/server/util/HttpUtil.java b/alpine-server/src/main/java/alpine/server/util/HttpUtil.java
index 7b59445d..72d39068 100644
--- a/alpine-server/src/main/java/alpine/server/util/HttpUtil.java
+++ b/alpine-server/src/main/java/alpine/server/util/HttpUtil.java
@@ -18,8 +18,8 @@
*/
package alpine.server.util;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
/**
* This class contains a collection of useful utility methods for various HTTP tasks.
diff --git a/alpine-server/src/test/java/alpine/server/filters/RequestIdFilterTest.java b/alpine-server/src/test/java/alpine/server/filters/RequestIdFilterTest.java
index 345cf7fe..d0177abe 100644
--- a/alpine-server/src/test/java/alpine/server/filters/RequestIdFilterTest.java
+++ b/alpine-server/src/test/java/alpine/server/filters/RequestIdFilterTest.java
@@ -24,9 +24,9 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.core.MultivaluedHashMap;
import java.util.List;
import java.util.Map;
diff --git a/alpine-server/src/test/java/alpine/server/servlets/HealthServletTest.java b/alpine-server/src/test/java/alpine/server/servlets/HealthServletTest.java
index 70c451dd..33621fb6 100644
--- a/alpine-server/src/test/java/alpine/server/servlets/HealthServletTest.java
+++ b/alpine-server/src/test/java/alpine/server/servlets/HealthServletTest.java
@@ -10,8 +10,8 @@
import org.junit.Before;
import org.junit.Test;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
diff --git a/alpine-server/src/test/java/alpine/server/servlets/MetricsServletTest.java b/alpine-server/src/test/java/alpine/server/servlets/MetricsServletTest.java
index ef17ed4b..e53b8f9e 100644
--- a/alpine-server/src/test/java/alpine/server/servlets/MetricsServletTest.java
+++ b/alpine-server/src/test/java/alpine/server/servlets/MetricsServletTest.java
@@ -23,9 +23,9 @@
import org.junit.Before;
import org.junit.Test;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.core.HttpHeaders;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
diff --git a/alpine-server/src/test/java/alpine/server/util/HttpUtilTest.java b/alpine-server/src/test/java/alpine/server/util/HttpUtilTest.java
index 971dc82e..8176ab5d 100644
--- a/alpine-server/src/test/java/alpine/server/util/HttpUtilTest.java
+++ b/alpine-server/src/test/java/alpine/server/util/HttpUtilTest.java
@@ -21,8 +21,8 @@
import org.junit.Assert;
import org.junit.Test;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
diff --git a/example/src/main/java/com/example/event/EventSubsystemInitializer.java b/example/src/main/java/com/example/event/EventSubsystemInitializer.java
index b2d1e13c..c9e5149c 100644
--- a/example/src/main/java/com/example/event/EventSubsystemInitializer.java
+++ b/example/src/main/java/com/example/event/EventSubsystemInitializer.java
@@ -22,8 +22,8 @@
import alpine.event.framework.EventService;
import alpine.tasks.LdapSyncTask;
import com.example.tasks.TaskScheduler;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
/**
* Initializes the event subsystem.
diff --git a/example/src/main/java/com/example/persistence/DefaultObjectCreator.java b/example/src/main/java/com/example/persistence/DefaultObjectCreator.java
index f9220af4..f28ee10b 100644
--- a/example/src/main/java/com/example/persistence/DefaultObjectCreator.java
+++ b/example/src/main/java/com/example/persistence/DefaultObjectCreator.java
@@ -22,8 +22,8 @@
import alpine.model.ManagedUser;
import alpine.model.Team;
import alpine.persistence.AlpineQueryManager;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
/**
* This class simply creates objects on startup. The example application uses
diff --git a/example/src/main/java/com/example/resources/v1/LoginResource.java b/example/src/main/java/com/example/resources/v1/LoginResource.java
index e4e3936c..a3a9da17 100644
--- a/example/src/main/java/com/example/resources/v1/LoginResource.java
+++ b/example/src/main/java/com/example/resources/v1/LoginResource.java
@@ -29,12 +29,12 @@
import io.swagger.annotations.ApiOperation;
import org.owasp.security.logging.SecurityMarkers;
import javax.naming.AuthenticationException;
-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 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 java.security.Principal;
/**
diff --git a/example/src/main/webapp/WEB-INF/web.xml b/example/src/main/webapp/WEB-INF/web.xml
index a0e9e880..8f41b89d 100644
--- a/example/src/main/webapp/WEB-INF/web.xml
+++ b/example/src/main/webapp/WEB-INF/web.xml
@@ -1,8 +1,8 @@
-
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
alpine.persistence.PersistenceInitializer
diff --git a/pom.xml b/pom.xml
index dc0973b8..f5766893 100644
--- a/pom.xml
+++ b/pom.xml
@@ -158,6 +158,7 @@
2.2.6-SNAPSHOT
+ 2.0.3
0.4
3.1.8
4.4
@@ -171,27 +172,25 @@
3.29.2-GA
2.17.0
2.17.1
- 1.6.7
- 2.3.1
- 2.3.0.1
- 2.3.6
+ 2.1.3
+ 2.1.3
+ 6.0.0
+ 4.0.2
+ 4.0.5
3.2.1
- 2.41
+ 3.1.6
2.37.0
- 2.2
- 0.9.1
+ 0.12.5
3.0.2
- 1.1.4
- 1.1.4
- 1.2.5
1.3.14
7.3
1.11.4
- 3.1
+ 4.0.1
11.12
1.2.3
1.1.7
+ 1.1.6
2.0.12
2.2.22
@@ -231,9 +230,9 @@
- javax.servlet
- javax.servlet-api
- 4.0.1
+ jakarta.servlet
+ jakarta.servlet-api
+ ${lib.jakarta-servlet-api.version}
provided
@@ -263,34 +262,30 @@
- javax.xml.bind
- jaxb-api
- ${lib.jaxb.api.version}
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ ${lib.jakarta-xml-bind-api.version}
- com.sun.xml.bind
- jaxb-core
- ${lib.jaxb.core.version}
+ org.glassfish.jaxb
+ jaxb-runtime
+ ${lib.jaxb-runtime.version}
+
- com.sun.xml.bind
- jaxb-impl
- ${lib.jaxb.impl.version}
+ jakarta.json
+ jakarta.json-api
+ ${lib.jakarta-json-api.version}
-
- javax.json
- javax.json-api
- ${lib.jsr353-spec.version}
-
-
- org.glassfish
- javax.json
- ${lib.jsr353-impl.version}
+ org.eclipse.parsson
+ jakarta.json
+ ${lib.parsson.version}
+
io.swagger.core.v3
- swagger-annotations
+ swagger-annotations-jakarta
${lib.swagger.version}
@@ -369,13 +364,13 @@
${lib.jackson.version}
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-base
+ com.fasterxml.jackson.jakarta.rs
+ jackson-jakarta-rs-base
${lib.jackson.version}
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
+ com.fasterxml.jackson.jakarta.rs
+ jackson-jakarta-rs-json-provider
${lib.jackson.version}
@@ -440,9 +435,14 @@
- com.sun.mail
- jakarta.mail
- ${lib.javamail.version}
+ jakarta.mail
+ jakarta.mail-api
+ ${lib.jakarta-mail-api.version}
+
+
+ org.eclipse.angus
+ angus-mail
+ ${lib.angus-mail.version}