diff --git a/README.md b/README.md
index 7a54b58..e58501d 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ A word guessing game based on the [game show](https://en.wikipedia.org/wiki/Ling
#### JavaFX client
-- Requirements: Java 17, Maven 3
+- Requirements: Java 19, Maven 3
- Build: `mvn clean install`
- Start client: `mvn -f client javafx:run`
diff --git a/client/pom.xml b/client/pom.xml
index fe30900..0a8953c 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -12,7 +12,7 @@
Lingo :: Client
- 17.0.1
+ 19
https://lingo.gould.dev
diff --git a/client/src/main/java/dev/gould/lingo/client/bootstrap/WordRepository.java b/client/src/main/java/dev/gould/lingo/client/bootstrap/WordRepository.java
index aa70eab..ea0ebc5 100644
--- a/client/src/main/java/dev/gould/lingo/client/bootstrap/WordRepository.java
+++ b/client/src/main/java/dev/gould/lingo/client/bootstrap/WordRepository.java
@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
import dev.gould.lingo.common.WordReader;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
@Component
public class WordRepository {
diff --git a/client/src/main/java/dev/gould/lingo/client/multiplayer/MultiplayerPresenter.java b/client/src/main/java/dev/gould/lingo/client/multiplayer/MultiplayerPresenter.java
index df291b6..a3408f3 100644
--- a/client/src/main/java/dev/gould/lingo/client/multiplayer/MultiplayerPresenter.java
+++ b/client/src/main/java/dev/gould/lingo/client/multiplayer/MultiplayerPresenter.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import java.util.concurrent.CountDownLatch;
import java.util.function.Consumer;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import dev.gould.lingo.common.LobbyData;
import org.slf4j.Logger;
diff --git a/client/src/main/java/dev/gould/lingo/client/multiplayer/StompTemplate.java b/client/src/main/java/dev/gould/lingo/client/multiplayer/StompTemplate.java
index 8f5ad07..87f1e6c 100644
--- a/client/src/main/java/dev/gould/lingo/client/multiplayer/StompTemplate.java
+++ b/client/src/main/java/dev/gould/lingo/client/multiplayer/StompTemplate.java
@@ -4,8 +4,8 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.function.Consumer;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/client/src/main/java/module-info.java b/client/src/main/java/module-info.java
index 8f290c4..b75672e 100644
--- a/client/src/main/java/module-info.java
+++ b/client/src/main/java/module-info.java
@@ -1,7 +1,7 @@
module dev.gould.lingo.client {
requires dev.gould.lingo.common;
requires dev.gould.lingo.api;
- requires java.annotation;
+ requires jakarta.annotation;
requires javafx.controls;
requires javafx.fxml;
requires javafx.graphics;
diff --git a/pom.xml b/pom.xml
index ef84380..6ac1e8e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.6.2
+ 3.0.0
dev.gould
@@ -17,7 +17,7 @@
UTF-8
- 17
+ 19
diff --git a/server/pom.xml b/server/pom.xml
index a41a8f9..0c190a8 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -45,12 +45,12 @@
com.google.cloud.tools
jib-maven-plugin
- 3.1.4
+ 3.3.1
- eclipse-temurin:17-jre
+ eclipse-temurin:19-jre
docker.io/charego/lingo
diff --git a/server/src/main/java/dev/gould/lingo/server/LingoController.java b/server/src/main/java/dev/gould/lingo/server/LingoController.java
index 0c4e0da..72964d7 100644
--- a/server/src/main/java/dev/gould/lingo/server/LingoController.java
+++ b/server/src/main/java/dev/gould/lingo/server/LingoController.java
@@ -8,7 +8,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import dev.gould.lingo.api.Destinations;
import dev.gould.lingo.common.*;
diff --git a/server/src/main/java/dev/gould/lingo/server/WordRepository.java b/server/src/main/java/dev/gould/lingo/server/WordRepository.java
index b79fb19..143177b 100644
--- a/server/src/main/java/dev/gould/lingo/server/WordRepository.java
+++ b/server/src/main/java/dev/gould/lingo/server/WordRepository.java
@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
import dev.gould.lingo.common.WordReader;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
@Component
public class WordRepository {
diff --git a/server/src/main/java/module-info.java b/server/src/main/java/module-info.java
index 23258c6..8b2b0b6 100644
--- a/server/src/main/java/module-info.java
+++ b/server/src/main/java/module-info.java
@@ -1,7 +1,7 @@
module dev.gould.lingo.server {
requires dev.gould.lingo.common;
requires dev.gould.lingo.api;
- requires java.annotation;
+ requires jakarta.annotation;
requires org.slf4j;
requires spring.beans;
requires spring.boot;