diff --git a/build-native-local-docker-image.sh b/build-native-local-docker-image.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3319d2d5f5796f39ad911a1464581fe5210de6d5
--- /dev/null
+++ b/build-native-local-docker-image.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+cd user-manager-server
+./mvnw clean verify \
+      -Pnative \
+      -Dquarkus.container-image.registry=docker.ozg-sh.de \
+      -Dquarkus.container-image.push=false \
+      -Dquarkus.container-image.build=true \
+      -Dquarkus.native.remote-container-build=false
\ No newline at end of file
diff --git a/user-manager-server/pom.xml b/user-manager-server/pom.xml
index 09b5c30128e0f46bcd72ee14e23671c71de90cd7..4f977764d2034c5c8116487592edb2e3b4e73c8f 100644
--- a/user-manager-server/pom.xml
+++ b/user-manager-server/pom.xml
@@ -30,7 +30,7 @@
 	<parent>
 		<groupId>de.itvsh.kop.common</groupId>
 		<artifactId>kop-common-dependencies</artifactId>
-		<version>1.7.1</version>
+		<version>2.3.2-SNAPSHOT</version>
 		<relativePath/>
 	</parent>
 
@@ -54,8 +54,10 @@
 
 		<lombok.version>1.18.24</lombok.version>
 
-		<jakarta.interceptor.version>1.2.5</jakarta.interceptor.version>
-		<jakarta.annotatioin.version>1.3.5</jakarta.annotatioin.version>
+		<jakarta.interceptor.version>2.1.0</jakarta.interceptor.version>
+		<jakarta.annotatioin.version>2.1.1</jakarta.annotatioin.version>
+
+		<keycloak-adapter.version>22.0.5</keycloak-adapter.version>
 	</properties>
 
 	<dependencyManagement>
@@ -207,11 +209,27 @@
 			<artifactId>jakarta.interceptor-api</artifactId>
 			<version>${jakarta.interceptor.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>jakarta.json</groupId>
+			<artifactId>jakarta.json-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.validation</groupId>
+			<artifactId>jakarta.validation-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.ws.rs</groupId>
+			<artifactId>jakarta.ws.rs-api</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>jakarta.annotation</groupId>
 			<artifactId>jakarta.annotation-api</artifactId>
 			<version>${jakarta.annotatioin.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>jakarta.inject</groupId>
+			<artifactId>jakarta.inject-api</artifactId>
+		</dependency>
 
 		<!-- Test -->
 		<dependency>
@@ -290,7 +308,7 @@
 					<compilerArgs>
 						<arg>-parameters</arg>
 						<compilerArg>
-								-Amapstruct.defaultComponentModel=cdi
+								-Amapstruct.defaultComponentModel=jakarta
 							</compilerArg>
 						<compilerArg>
 								-Amapstruct.unmappedTargetPolicy=WARN
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
index bbc4f108ddbd0091200bcacdea2488b4032ab4c3..29b2ddb262c3cc6e1201f70f0560f6070c941fbe 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
@@ -26,13 +26,13 @@ package de.itvsh.kop.user;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
 
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.resteasy.reactive.common.util.RestMediaType;
@@ -80,7 +80,7 @@ public class UserProfileResource {
 		Stream<User> users;
 		if (deleted.isEmpty()) {
 			users = userService.findUsers(query);
-		} else if (deleted.get()) {
+		} else if (deleted.orElse(false)) {
 			users = userService.findInactiveUsers(query);
 		} else {
 			users = userService.findActiveUsers(query);
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
index e4329c10bb0ff984a6afc492434c5c60ed24373e..ebfcc495e253932c32d6c05428322aa2b36b382e 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.core.Link;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.core.Link;
 
 import de.itvsh.kop.user.settings.UserSettingsResource;
 import io.quarkus.hal.HalCollectionWrapper;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
index d0b96122b453c22113426c26127c77a09942bbae..d382098ee5f721d8f112c2e9a18f045a16726dc6 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
@@ -28,7 +28,7 @@ import static de.itvsh.kop.user.User.*;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.bson.types.ObjectId;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
index af43d281a30dbb0a81dd05316d009f40028ad9bd..7a0d8d122152aa093ea6325aa69ed7d74918bd34 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
@@ -32,7 +32,7 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.keycloak.admin.client.resource.RealmResource;
 import org.keycloak.admin.client.resource.UserResource;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
index fbe228791cccda65d8d1a814c5dbaffe0de42143..700348fb23f6f1999a920c21c98f47cef9776923 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
index be7bae09ba093a0616d1eec4dc89d37a7c6ca6c9..10b6fe56ec5019ab1ba88492dad6d988a3776139 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
@@ -28,10 +28,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.json.JsonArray;
-import javax.json.JsonString;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonString;
 
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
index 93a2f92e0bcc35a6c121c4c2aa5390208bbe27ba..bcdc58e497c2d71bc6ac0bec45f6443f3f9b7519 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.common;
 
 import java.lang.reflect.Type;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.jboss.resteasy.reactive.server.core.CurrentRequestManager;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
index 225ab939e1f87965acd3ab66fda7ed8179d60d7f..37e68a10425d57b2aa6b992d80dca823273b54a9 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.util.Optional;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 @RequestScoped
 public class CurrentCallContextUserService {
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
index 5b027a415c629110c354be0e19c9de5b73b11ee4..9717a5bdbd5aa4c70f97541bab47b131fbb370f9 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.common.callcontext;
 import java.util.Optional;
 import java.util.UUID;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.logging.log4j.CloseableThreadContext;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
index 11366a4dc7c922b943317d4121d570b27870d5dc..81e3f3f9c5134e0780fd953a4fff62b5541751b3 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
@@ -25,10 +25,10 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.CloseableThreadContext;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
index a84743ecc0584e161c40e755b1b80e27357599f6..aabdd9cd38551ef45659c321bbc4870d8d9a868e 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
@@ -25,11 +25,11 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.io.IOException;
 
-import javax.inject.Inject;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
 
 import de.itvsh.kop.user.common.JwtUtil;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
index dbd6b4cf3bcf3b0fddd03eb3f70c7e0b328d607b..c11c6eb5a14f82bc27ae200fe0bc9756d2b7666c 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.common.errorhandling;
 
 import java.util.UUID;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.NotFoundException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.NotFoundException;
 
 import de.itvsh.kop.common.errorhandling.ExceptionUtil;
 import lombok.extern.log4j.Log4j2;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
index 394b30ac3f8de5903fa0a9504826587ff99012d9..9453922c7981a1ce2bf752eda49281172195b0c5 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
@@ -23,11 +23,11 @@
  */
 package de.itvsh.kop.user.common.errorhandling;
 
-import javax.inject.Inject;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
index ea4f6fceedfb0b336356790934d4bb4d9ba3e03e..6ca0b99f57523417607e0e7af5e7cbba385c9c92 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
@@ -26,7 +26,7 @@ package de.itvsh.kop.user.common.lock;
 import java.time.Instant;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import io.quarkus.mongodb.panache.PanacheMongoRepository;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
index a37b3e433f0b52d56c923abf0cb327f6208c2828..85de568651ff1ca2dfc3495f669473ac53acfa10 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.common.lock;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.common.errorhandling.LockCreationException;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
index 5bb7e88df733c7878d78ea93aedcb3a83c62bbf4..b480c6c453e5a85e1920f086c8f27fe4ec0b4460 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
@@ -23,7 +23,7 @@
  */
 package de.itvsh.kop.user.keycloak;
 
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
 
 import io.smallrye.config.ConfigMapping;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
index 3a005b22cd86714c39870f8f58824d96db0576b6..82fd22a0c07fd435ecd8d92ef4b64f51cd11ff12 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
@@ -29,11 +29,11 @@ import java.util.function.Supplier;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.ProcessingException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.apache.commons.lang3.ObjectUtils;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
index 4f5a8d84d2cbb61cfbaba1df8bc2e26aca1a634b..5c59bbf5f78be244cfacd88165972025f7db614d 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
@@ -23,8 +23,8 @@
  */
 package de.itvsh.kop.user.keycloak;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.keycloak.admin.client.Keycloak;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
index 9bf0a5a19c07b2e64907edc61b87c2264ac4ec4d..b6c910d2ab167f8c5cfe35b76a9b692e2bf21147 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.keycloak;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.User;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
index 791c010d89bd03ab49f032b3cf0d8313188315a1..430440ae0e900cd07cc6e0761abdb117b6659715 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import java.util.Collection;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import com.google.protobuf.Empty;
 
@@ -38,7 +38,7 @@ import io.quarkus.grpc.GrpcService;
 public class OrganisationsEinheitGrpcService extends OrganisationsEinheitServiceImplBase {
 
 	@Inject
-	private OrganisationsEinheitService organisationsEinheitService;
+	OrganisationsEinheitService organisationsEinheitService;
 
 	@Override
 	public void getSupportedOrganisationsEinheiten(Empty request, StreamObserver<GrpcGetSupportedOrganisationsEinheitenResponse> responseObserver) {
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
index 8bbe58ac001eb62dce80ad351211c74eb493aea7..5f22d5f5381bd6f62a664e43710069a6c355525b 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
@@ -28,7 +28,7 @@ import static org.apache.commons.collections4.IterableUtils.*;
 
 import java.util.Collection;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import com.mongodb.client.model.Filters;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
index bc701b9404b19f2efbb613aab476ea7a12e75e92..f5f77cde964fe326e2e4bf43b2e8df12625b624f 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
@@ -25,14 +25,14 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import java.util.Collection;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 @ApplicationScoped
 class OrganisationsEinheitService {
 
 	@Inject
-	private OrganisationsEinheitRepository repository;
+	OrganisationsEinheitRepository repository;
 
 	public Collection<String> findAllOrganisationsEinheitIds() {
 		return repository.findAllOrganisationsEinheitIds();
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
index 585511220ac067c02248c7f0246776ef6540770a..16e7f06ea4db5165b88295dc9acd16c45f880425 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.recipient;
 
 import java.util.Collection;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.User;
 import de.itvsh.kop.user.grpc.recipient.GrpcFindRecipientRequest;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
index dcebbee5daec02dca277310951821a20b29cda5d..70ea06cea9f706ea7a3aa267c6164653fd9bbb9c 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
@@ -4,7 +4,7 @@ import static de.itvsh.kop.user.User.*;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.User;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
index 1f65e76a32008a7bf7030202633f76bce9f23545..8958d2eed1775c19d58e901e5e217fb07cd1b24d 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.recipient;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import com.cronutils.utils.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
index b90a0114e73a52c2972623900f4d12f71ddb4a84..d3089627adf7bc02f1c91150502e63b4ff5a7221 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.settings;
 
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.bson.types.ObjectId;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
index 37cd684ddd72926e4e6410c84166827636243c52..2b2f7c60528e00829636d54c2e25a6b0286496c3 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
@@ -25,13 +25,13 @@ package de.itvsh.kop.user.settings;
 
 import java.util.Objects;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.PATCH;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
index e2ec0d3c666c57997780409312b90ac323d8a321..3f3c65285fb7e17083959fe0eaea56c0d5863c88 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
@@ -23,9 +23,9 @@
  */
 package de.itvsh.kop.user.settings;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.core.Link;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Link;
 
 import org.apache.commons.lang3.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
index 986bf650740189eca48e31dbcaa0c69e13c2cb01..d05de31f1bdb193692c89958173eeb4bb64579c7 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.settings;
 import java.util.Objects;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.UserService;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
index e10e7c78ba24638fcb5b137d96ca5aef27b31665..f2137dc0aa6a72a24cee7696c665bc6158813489 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.sync;
 
 import static io.quarkus.scheduler.Scheduled.ConcurrentExecution.*;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.common.lock.LockService;
 import io.quarkus.scheduler.Scheduled;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
index d677c3e046cd4b4063feabec024986f78cb9079a..baed27bbf16404ce167867ea910709527ac476eb 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.sync;
 
 import java.util.function.Predicate;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.commons.collections4.CollectionUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
index 15f14793a27e3060c8bacd6f36f0064b10f87df8..81106fa820d7d233d79943a79491fdbfa6b19dcd 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.userprofile;
 
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import com.google.protobuf.Empty;
 
@@ -39,10 +39,10 @@ import io.quarkus.grpc.GrpcService;
 public class UserProfileGrpcService extends UserProfileServiceImplBase {
 
 	@Inject
-	private UserService service;
+	UserService service;
 
 	@Inject
-	private UserProfileMapper mapper;
+	UserProfileMapper mapper;
 
 	@Override
 	public void getById(GrpcGetUserProfileRequest request, StreamObserver<GrpcGetUserProfileResponse> responseObserver) {
diff --git a/user-manager-server/src/main/resources/application-e2e.yaml b/user-manager-server/src/main/resources/application-e2e.yaml
index 3c0d3eb7e242de49edea66d1c369a1b79bead2c1..35e890b0787862d926dd6f7be496c9ff63e311ff 100644
--- a/user-manager-server/src/main/resources/application-e2e.yaml
+++ b/user-manager-server/src/main/resources/application-e2e.yaml
@@ -13,7 +13,7 @@ quarkus:
       "io.quarkus.oidc.runtime.OidcProvider":
         level: TRACE
         min-level: TRACE
-    
+
 kop:
   keycloak:
     api:
diff --git a/user-manager-server/src/main/resources/application-local.yaml b/user-manager-server/src/main/resources/application-local.yaml
index 7f8084ea2150b33bfc201df66869f6c43940c5af..7ae989a0ff8a03c31c6b00e290fd509e26a251b0 100644
--- a/user-manager-server/src/main/resources/application-local.yaml
+++ b/user-manager-server/src/main/resources/application-local.yaml
@@ -9,4 +9,4 @@ kop:
   user-manager:
     url: http://localhost:9091
 keycloak:
-    url: http://localhost:8088
\ No newline at end of file
+  url: http://localhost:8088
\ No newline at end of file
diff --git a/user-manager-server/src/main/resources/application.yaml b/user-manager-server/src/main/resources/application.yaml
index 261320fb74bbfba6f6b5780c96a6daec2b8aa325..604042013a945e30fcb7cf9aa917a95c2d64a1f8 100644
--- a/user-manager-server/src/main/resources/application.yaml
+++ b/user-manager-server/src/main/resources/application.yaml
@@ -1,46 +1,46 @@
 "%prod":
-   quarkus:
-      grpc:
-         server:
-            ssl:
-               certificate: /user-manager-tls-certificate/tls.crt
-               key: /user-manager-tls-certificate/tls.key
+  quarkus:
+    grpc:
+      server:
+        ssl:
+          certificate: /user-manager-tls-certificate/tls.crt
+          key: /user-manager-tls-certificate/tls.key
 quarkus:
- application:
-  name: kopusermanager
- http:
-  cors:
-    ~: true
-  auth:
-   permission:
-    bearer:
-     paths: /api/userProfiles/*,/api/user/*
-     policy: authenticated
-    permit-migration:
-     paths: /api/migration/user/*
-     policy: permit
-     methods: GET
-    deny-api:
-     paths: /api/*
-     policy: deny
- scheduler:
-  metrics:
-   enabled: true
- log:
-  level: INFO
- mongodb:
-  database: usermanager
+  application:
+    name: kopusermanager
+  http:
+    cors:
+      ~: true
+    auth:
+      permission:
+        bearer:
+          paths: /api/userProfiles/*,/api/user/*
+          policy: authenticated
+        permit-migration:
+          paths: /api/migration/user/*
+          policy: permit
+          methods: GET
+        deny-api:
+          paths: /api/*
+          policy: deny
+  scheduler:
+    metrics:
+      enabled: true
+  log:
+    level: INFO
+  mongodb:
+    database: usermanager
 grpc:
- server:
-  enable-reflection-service: true
+  server:
+    enable-reflection-service: true
 kop:
- keycloak:
-  api:
-   ldap-id-key: LDAP_ID
-   organisations-einheit-id-key: organisationseinheitId
-   user: "-"
-   password: "-"
-   realm: by-kiel-dev
-   client: alfa
-  sync:
-   cron: "0 5 2 * * ?"
\ No newline at end of file
+  keycloak:
+    api:
+      ldap-id-key: LDAP_ID
+      organisations-einheit-id-key: organisationseinheitId
+      user: "-"
+      password: "-"
+      realm: by-kiel-dev
+      client: alfa
+    sync:
+      cron: "0 5 2 * * ?"
\ No newline at end of file
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
index 681995a88aba6026d9375666177a89cce0c1a03e..449be2557563ea8477ecfd091dd3c0fc190f2a97 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
@@ -40,15 +40,15 @@ import org.junit.jupiter.api.Test;
 import de.itvsh.kop.user.common.errorhandling.ApiErrorUtil;
 import de.itvsh.kop.user.common.errorhandling.ResourceNotFoundException;
 import de.itvsh.kop.user.settings.UserSettingsResource;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 
 @QuarkusTest
 @TestProfile(UserProfileResourceTestProfile.class)
 class UserProfileResourceITCase {
-	private static final String HTTP_LOCALHOST = "http://localhost:9092";
 
+	private static final String HTTP_LOCALHOST = "http://localhost:9092";
 	private static final String SEARCH_PATH = UserProfileResource.USERS_PATH + "/?" + UserProfileResource.PARAM_SEARCH_BY + "=";
 
 	@InjectMock
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
index 0b8ddba96baa53d01f8ae9e68e0d817c1e5d4960..13f17a487de01fa5311d6d2ebc96f01099641228 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
@@ -30,7 +30,7 @@ import java.time.Instant;
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
index 509d8fd418af30bd70cebd4b5c265a4ed5833a84..723b607643a197e211eeba65f7223fa55fe08120 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
@@ -26,7 +26,7 @@ package de.itvsh.kop.user;
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.keycloak.admin.client.resource.RoleMappingResource;
 import org.keycloak.admin.client.resource.RoleScopeResource;
@@ -44,6 +44,7 @@ import lombok.NoArgsConstructor;
 
 @NoArgsConstructor
 class UserResourceStub implements UserResource {
+
 	private UserRepresentation userRepresentation = UserRepresentationTestFactory.create();
 	private List<GroupRepresentation> groups = List.of(GroupRepresentationTestFactory.createGroup(UserResourceMapperTest.GROUP_1_PATH));
 
@@ -60,6 +61,11 @@ class UserResourceStub implements UserResource {
 		return userRepresentation;
 	}
 
+	@Override
+	public UserRepresentation toRepresentation(boolean userProfileMetadata) {
+		return userRepresentation;
+	}
+
 	@Override
 	public void update(UserRepresentation userRepresentation) {
 		// not implemented
@@ -95,6 +101,11 @@ class UserResourceStub implements UserResource {
 		return groups();
 	}
 
+	@Override
+	public List<GroupRepresentation> groups(String search, boolean briefRepresentation) {
+		return groups();
+	}
+
 	@Override
 	public List<GroupRepresentation> groups(String search, Integer firstResult, Integer maxResults, boolean briefRepresentation) {
 		return groups();
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
index d7514fd1e43d5c786d06838472c706daa297809c..7375478b17e8921a6fbca7aae4a93e56f1c062ed 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
index 11675400942724533a39ecbaff68de0a78bc6df7..db2c00701d8915ab340e3d13871e20bf8055729d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
@@ -30,8 +30,8 @@ import static org.mockito.Mockito.*;
 import java.util.List;
 import java.util.Map;
 
-import javax.json.Json;
-import javax.json.JsonArray;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
 
 import org.eclipse.microprofile.jwt.JsonWebToken;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
index c81a265dfcdd4cd7a0d4f2a723b31bb3127a41b6..c52e0e9039d7540e3cc3eb46dd0bff692fa0ad9d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
@@ -29,8 +29,8 @@ import static org.mockito.Mockito.*;
 import java.util.List;
 import java.util.UUID;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
index afb1df56af11dccca2924c09cc839f1cbb5c2ae1..3c6898e71c94d7db8b4e0915bbc6e96e595f5856 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.*;
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
index 1fdb9bd1e0b85059d3d25caedd03d14ad58b5de9..5d6ecf256749a33e64da5f993a3b3737190fc550 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
@@ -28,7 +28,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.UUID;
 
-import javax.ws.rs.NotFoundException;
+import jakarta.ws.rs.NotFoundException;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
index 3740e5fadbe4dcf3bc756adb8574cee7fa4b9928..87f36bfb19d040df215d86d5ce1dea82367ff439 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
@@ -27,8 +27,8 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
index e7beac94930765c072fc5c9a036df1a234d387d7..37acb819bcfd930d301f49fe1e2a1527ac9e954c 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
@@ -28,7 +28,7 @@ import static org.assertj.core.api.Assertions.*;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
index e6d76f21ab88e617f83fc0c9f655fa5f45922e14..5514fea735b0e72673ad9f89c974903309fee5b5 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.keycloak;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
index deb55ce6f6f4e247cd6478b70dce82cd3bba61a1..9167c41350ac14d8af2affd87f3320268b6c6e8d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
@@ -31,9 +31,9 @@ import static org.mockito.Mockito.*;
 import java.util.function.Supplier;
 import java.util.stream.Stream;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
index 19b26b81ea0b7c438b43a240ff57b191e5bc6246..02c286d771c81149cc20dfdb98488f3812b0e171 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.keycloak;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 import org.keycloak.admin.client.resource.RealmResource;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
index b12dcbdd5d082eb95c702715ca159fd6f7565a44..38ccbb5913a656b23d9d48f57efb832670967818 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
@@ -38,6 +38,7 @@ import org.mockito.Mock;
 import lombok.SneakyThrows;
 
 class KeycloakProviderTest {
+
 	@InjectMocks
 	KeycloakProvider keycloakProvider;
 	@Mock
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
index 272a07ef904bb710f3af10f0d5e678c0752fda30..e98d518f0045f95f1865975aa14b3d7ee445943d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
@@ -27,8 +27,8 @@ import static org.mockito.Mockito.*;
 
 import org.junit.jupiter.api.Test;
 
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
index 4327c216e3645dd8213c9fe9a4a29ccab16322d0..1f1082a1749ce748a8787ad7406b30a6752c22fd 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
@@ -2,7 +2,7 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
@@ -22,10 +22,10 @@ import io.quarkus.test.junit.TestProfile;
 class OrganisationsEinheitRepositoryITCase {
 
 	@Inject
-	private OrganisationsEinheitRepository repository;
+	OrganisationsEinheitRepository repository;
 
 	@Inject
-	private MongoClient mongoClient;
+	MongoClient mongoClient;
 
 	@Nested
 	@DisplayName("Test finding all Organisationseinheiten IDs")
@@ -53,8 +53,9 @@ class OrganisationsEinheitRepositoryITCase {
 
 			var result = repository.findAllOrganisationsEinheitIds();
 
-			assertThat(result).hasSize(1);
-			assertThat(result).containsExactlyInAnyOrder(UserTestFactory.ORGANISTATIONSEINHEITEN_ID);
+			assertThat(result)
+					.hasSize(1)
+					.containsExactlyInAnyOrder(UserTestFactory.ORGANISTATIONSEINHEITEN_ID);
 		}
 	}
 
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
index 34f8f13b572b828b4de160898f6d9757d72785b8..368f71a48ea68705ae361202e29325a21fe245b4 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
@@ -3,7 +3,7 @@ package de.itvsh.kop.user.recipient;
 import static de.itvsh.kop.user.settings.NotificationsSendFor.*;
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
index 98ba6e05eae2b41b8916532f998e7f8b3a2c56a8..5b7e3a403d2ff4304926ab4089b0a47f4dc32458 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
@@ -2,7 +2,7 @@ package de.itvsh.kop.user.settings;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
index d0ec6596f715158fd7cd24f413ff6c0723131bf4..43d947736894688be42a0b457b32ef92ea6fb3d2 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
@@ -28,8 +28,8 @@ import static de.itvsh.kop.user.settings.UserSettingsResource.*;
 import static io.restassured.RestAssured.*;
 import static org.hamcrest.CoreMatchers.*;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.http.HttpStatus;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
index 7e4cc5d13c96a7b6738346fe85e8ee1423ec87f3..b3f6ebb7e16041797f9639c237047b2c9a31b5be 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.*;
 import java.util.Optional;
 import java.util.UUID;
 
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.bson.types.ObjectId;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
index 47114b6455a1ee15b92be7076e9587983c8f1b3a..525c4af5b3259187eaf062a99c205062b0260a68 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.settings;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
index 953d9120f03fc5636b02cb84344f62a6f24ce27b..969600a23fc6b42f6453402e710afbae26ff4948 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
@@ -10,7 +10,7 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.Document;
 import org.junit.jupiter.api.BeforeEach;
@@ -28,9 +28,9 @@ import de.itvsh.kop.user.UserTestFactory;
 import de.itvsh.kop.user.common.MongoDbTestProfile;
 import de.itvsh.kop.user.common.lock.Lock;
 import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
index 909b45f550134ac338635afa61a0537b1ce66c5a..e1685bd2497fa8b3dbad7890e8a2d0df15fbacee 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,9 +46,9 @@ import de.itvsh.kop.user.UserService;
 import de.itvsh.kop.user.UserTestFactory;
 import de.itvsh.kop.user.common.MongoDbTestProfile;
 import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
index b511232c016fbcaccea195f75bcf2bbbb6fbdefe..972f94a7e80eb3dfa5d0de80ab148012a7cfc368 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
@@ -16,8 +16,8 @@ import de.itvsh.kop.user.common.callcontext.CallContextInterceptorTestFactory;
 import de.itvsh.kop.user.grpc.userprofile.UserProfileServiceGrpc.UserProfileServiceBlockingStub;
 import io.grpc.StatusRuntimeException;
 import io.quarkus.grpc.GrpcClient;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.mockito.InjectMock;
 
 @QuarkusTest
 class UserProfileGrpcServiceITCase {
diff --git a/user-manager-server/src/test/resources/application.yml b/user-manager-server/src/test/resources/application.yml
index 59023b08da38b4572c5940bc17759d4f00fc831f..2a586a62747350892ade14dd764cc4b09982a105 100644
--- a/user-manager-server/src/test/resources/application.yml
+++ b/user-manager-server/src/test/resources/application.yml
@@ -14,7 +14,7 @@ quarkus:
  log:
   level: INFO
  oidc:
-  auth-server-url: https://sso.dev.ozg-sh.de/realms/sh-kiel-dev
+  auth-server-url: https://sso.dev.by.ozg-cloud.de/realms/by-kiel-dev
 
 kop:
  keycloak:
@@ -23,7 +23,7 @@ kop:
   api:
    user: "-"
    password: "-"
-   realm: sh-kiel-dev
+   realm: by-kiel-dev
    organisations-einheit-id-key: organisationseinheitId
    ldap-id-key: LDAP_ID
    client: sh-kiel-dev-goofy