Merge pull request #97 from apache/javax-to-jakarta

JOHNZON-391 JOHNZON-392 JSON-P 2.1.1 and JSON-B 3.0.0 (jakarta namespace)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 4fe8896..04f488b 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -10,7 +10,7 @@
     strategy:
       fail-fast: false
       matrix:
-        jdk: [ '8', '11', '17', '19' ]
+        jdk: [ '11', '17', '19' ]
         dist: [ 'zulu' ]
 
     steps:
diff --git a/johnzon-core/pom.xml b/johnzon-core/pom.xml
index 4128b99..e17434d 100644
--- a/johnzon-core/pom.xml
+++ b/johnzon-core/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -41,7 +41,7 @@
         <configuration>
           <instructions>
             <Require-Capability>osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)"</Require-Capability>
-            <Provide-Capability>osgi.serviceloader;osgi.serviceloader=javax.json.spi.JsonProvider</Provide-Capability>
+            <Provide-Capability>osgi.serviceloader;osgi.serviceloader=jakarta.json.spi.JsonProvider</Provide-Capability>
           </instructions>
         </configuration>
       </plugin>
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/DefaultJsonPointerFactory.java b/johnzon-core/src/main/java/org/apache/johnzon/core/DefaultJsonPointerFactory.java
index 19bcb1e..e299134 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/DefaultJsonPointerFactory.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/DefaultJsonPointerFactory.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.core.spi.JsonPointerFactory;
 
-import javax.json.JsonPointer;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonPointer;
+import jakarta.json.spi.JsonProvider;
 
 /**
  * This is not a standard factory but allows Johnzon to support an extended version of JSon Pointer.
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/DiffBase.java b/johnzon-core/src/main/java/org/apache/johnzon/core/DiffBase.java
index b25f5e5..b27a670 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/DiffBase.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/DiffBase.java
@@ -16,9 +16,9 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 import java.io.Serializable;
 
 /**
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParser.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParser.java
index c26ca10..738020b 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParser.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParser.java
@@ -20,11 +20,11 @@
 import java.util.Map;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.stream.JsonLocation;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonLocation;
+import jakarta.json.stream.JsonParser;
 
 /**
  * JsonParser with extended functionality
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParserImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParserImpl.java
index 61cb708..235696e 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParserImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JohnzonJsonParserImpl.java
@@ -27,9 +27,9 @@
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 /**
  * Base parser which handles higher level operations which are
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
index 1ee44fc..675cc14 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayImpl.java
index 7088bfd..b385041 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayImpl.java
@@ -18,12 +18,12 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.io.StringWriter;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
index efd10fe..bea58cb 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Collections;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonChars.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonChars.java
index 1e36913..1c43fdf 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonChars.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonChars.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.stream.JsonParser.Event;
+import jakarta.json.stream.JsonParser.Event;
 
 public interface JsonChars {
     char EOF = Character.MIN_VALUE;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonDoubleImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonDoubleImpl.java
index 3c467e4..a9ac21c 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonDoubleImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonDoubleImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonNumber;
+import jakarta.json.JsonNumber;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorFactoryImpl.java
index 646fea4..e5939aa 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorFactoryImpl.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.core.io.BoundedOutputStreamWriter;
 
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGeneratorFactory;
 import java.io.Flushable;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
index c011b1f..53d7a43 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
@@ -18,14 +18,14 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonException;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerationException;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonException;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerationException;
+import jakarta.json.stream.JsonGenerator;
 import java.io.IOException;
 import java.io.Serializable;
 import java.io.Writer;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonInMemoryParser.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonInMemoryParser.java
index 740a100..70cf553 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonInMemoryParser.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonInMemoryParser.java
@@ -23,13 +23,13 @@
 import java.util.Map;
 import java.util.NoSuchElementException;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.JsonValue.ValueType;
-import javax.json.stream.JsonLocation;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonValue.ValueType;
+import jakarta.json.stream.JsonLocation;
 
 class JsonInMemoryParser extends JohnzonJsonParserImpl {
 
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLocationImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLocationImpl.java
index 11fd074..2fd7a11 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLocationImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLocationImpl.java
@@ -20,7 +20,7 @@
 
 import java.io.Serializable;
 
-import javax.json.stream.JsonLocation;
+import jakarta.json.stream.JsonLocation;
 
 final class JsonLocationImpl implements JsonLocation, Serializable {
     
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLongImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLongImpl.java
index 7637512..4007967 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLongImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonLongImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonNumber;
+import jakarta.json.JsonNumber;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchDiff.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchDiff.java
index 3825229..cb449c0 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchDiff.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchDiff.java
@@ -18,10 +18,10 @@
 
 import java.util.Map;
 
-import javax.json.JsonMergePatch;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 
 import static java.util.Collections.emptyMap;
 
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchImpl.java
index 9d40f05..8a4065b 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonMergePatchImpl.java
@@ -20,10 +20,10 @@
 import java.io.Serializable;
 import java.util.Map;
 
-import javax.json.JsonMergePatch;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonNumberImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonNumberImpl.java
index 4a1f523..19cc239 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonNumberImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonNumberImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonNumber;
+import jakarta.json.JsonNumber;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
index 2eb4ab0..ae690f9 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
@@ -20,11 +20,11 @@
 
 import static java.util.Objects.requireNonNull;
 
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectImpl.java
index f593327..4fe84fd 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectImpl.java
@@ -18,12 +18,12 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.io.StringWriter;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonParserFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonParserFactoryImpl.java
index 85174bc..50e7726 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonParserFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonParserFactoryImpl.java
@@ -18,10 +18,10 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParserFactory;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParserFactory;
 import java.io.InputStream;
 import java.io.Reader;
 import java.nio.charset.Charset;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
index 95ca672..5435e63 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
@@ -16,12 +16,12 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonPatchBuilder;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPatchBuilder;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchDiff.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchDiff.java
index 29577f0..e75f8b0 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchDiff.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchDiff.java
@@ -18,13 +18,13 @@
 
 import java.util.Map;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonPatchBuilder;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPatchBuilder;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 /**
  * Create a diff from a source and target JsonStructure
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
index 6296676..afd34f9 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
@@ -23,16 +23,16 @@
 import java.util.Collections;
 import java.util.List;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonPatch;
-import javax.json.JsonPointer;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 class JsonPatchImpl implements JsonPatch {
 
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
index 86bee4e..b55ec8d 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
@@ -18,15 +18,15 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonPointer;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
index 1bfcd71..317dbbf 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
@@ -33,28 +33,28 @@
 import java.util.function.Supplier;
 import java.util.stream.StreamSupport;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonMergePatch;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonPatch;
-import javax.json.JsonPatchBuilder;
-import javax.json.JsonPointer;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParserFactory;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPatchBuilder;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGeneratorFactory;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParserFactory;
 
 import static java.util.Comparator.comparing;
 
@@ -148,8 +148,8 @@
     }
 
     @Override
-    public JsonObjectBuilder createObjectBuilder(Map<String, Object> initialValues) {
-        return builderFactory.get().createObjectBuilder(initialValues);
+    public JsonObjectBuilder createObjectBuilder(Map<String, ?> initialValues) {
+        return builderFactory.get().createObjectBuilder((Map<String, Object>) initialValues);
     }
 
     @Override
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderFactoryImpl.java
index 233f8b0..a9b2a31 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderFactoryImpl.java
@@ -25,9 +25,9 @@
 import java.util.Collections;
 import java.util.Map;
 
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.stream.JsonParser;
 
 class JsonReaderFactoryImpl extends AbstractJsonFactory implements JsonReaderFactory {
     static final Collection<String> SUPPORTED_CONFIG_KEYS = RejectDuplicateKeysMode.CONFIG_KEYS;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderImpl.java
index 969ad9a..b7046c5 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonReaderImpl.java
@@ -19,16 +19,16 @@
 package org.apache.johnzon.core;
 
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParsingException;
 
 import static java.util.Collections.emptyList;
 import static java.util.Collections.emptyMap;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStreamParserImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStreamParserImpl.java
index c854069..2ad2c2e 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStreamParserImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStreamParserImpl.java
@@ -18,9 +18,9 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonException;
-import javax.json.stream.JsonLocation;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.JsonException;
+import jakarta.json.stream.JsonLocation;
+import jakarta.json.stream.JsonParsingException;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStringImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStringImpl.java
index 9cb1128..781054a 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStringImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonStringImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonString;
+import jakarta.json.JsonString;
 import java.io.Serializable;
 
 final class JsonStringImpl implements JsonString, Serializable {
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterFactoryImpl.java
index 8e8585a..1280bda 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterFactoryImpl.java
@@ -29,9 +29,9 @@
 import java.util.Collections;
 import java.util.Map;
 
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.json.stream.JsonGeneratorFactory;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.json.stream.JsonGeneratorFactory;
 
 class JsonWriterFactoryImpl extends AbstractJsonFactory implements JsonWriterFactory{
     static final Collection<String> SUPPORTED_CONFIG_KEYS = asList(
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterImpl.java
index f17e3f8..61dd987 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonWriterImpl.java
@@ -20,12 +20,12 @@
 
 import java.io.Serializable;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
+import jakarta.json.stream.JsonGenerator;
 
 class JsonWriterImpl implements JsonWriter, Serializable {
     private final JsonGenerator generator;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/RFC4627AwareInputStreamReader.java b/johnzon-core/src/main/java/org/apache/johnzon/core/RFC4627AwareInputStreamReader.java
index c3d0c37..ae4e049 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/RFC4627AwareInputStreamReader.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/RFC4627AwareInputStreamReader.java
@@ -25,7 +25,7 @@
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
-import javax.json.JsonException;
+import jakarta.json.JsonException;
 
 final class RFC4627AwareInputStreamReader extends InputStreamReader {
 
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/RejectDuplicateKeysMode.java b/johnzon-core/src/main/java/org/apache/johnzon/core/RejectDuplicateKeysMode.java
index 5e48eea..d1fb2c5 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/RejectDuplicateKeysMode.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/RejectDuplicateKeysMode.java
@@ -18,8 +18,8 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonException;
-import javax.json.JsonValue;
+import jakarta.json.JsonException;
+import jakarta.json.JsonValue;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/SerializableValue.java b/johnzon-core/src/main/java/org/apache/johnzon/core/SerializableValue.java
index 76b3ec6..256f180 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/SerializableValue.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/SerializableValue.java
@@ -18,9 +18,9 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.spi.JsonProvider;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.io.StringReader;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/Snippet.java b/johnzon-core/src/main/java/org/apache/johnzon/core/Snippet.java
index 23ed634..02a3b54 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/Snippet.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/Snippet.java
@@ -18,12 +18,12 @@
 
 import org.apache.johnzon.core.io.BoundedOutputStreamWriter;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGeneratorFactory;
 import java.io.ByteArrayOutputStream;
 import java.io.Closeable;
 import java.io.IOException;
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/Strings.java b/johnzon-core/src/main/java/org/apache/johnzon/core/Strings.java
index c5bd41a..975ba34 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/Strings.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/Strings.java
@@ -21,7 +21,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import javax.json.stream.JsonParsingException;
+import jakarta.json.stream.JsonParsingException;
 
 class Strings implements JsonChars {
 
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/io/BoundedOutputStreamWriter.java b/johnzon-core/src/main/java/org/apache/johnzon/core/io/BoundedOutputStreamWriter.java
index d0a2100..a96ca75 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/io/BoundedOutputStreamWriter.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/io/BoundedOutputStreamWriter.java
@@ -26,7 +26,7 @@
 import java.nio.charset.CodingErrorAction;
 
 /**
- * {@link java.io.OutputStreamWriter} delegating directly to a {@link sun.nio.cs.StreamEncoder} with a controlled underlying buffer size.
+ * {@link java.io.OutputStreamWriter} delegating directly to a sun.nio.cs.StreamEncoder with a controlled underlying buffer size.
  * It enables to wrap an {@link OutputStream} as a {@link Writer} but with a faster feedback than a default
  * {@link java.io.OutputStreamWriter} which uses a 8k buffer by default (encapsulated).
  * <p>
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/spi/JsonPointerFactory.java b/johnzon-core/src/main/java/org/apache/johnzon/core/spi/JsonPointerFactory.java
index 946a22f..0b62f4e 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/spi/JsonPointerFactory.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/spi/JsonPointerFactory.java
@@ -18,8 +18,8 @@
  */
 package org.apache.johnzon.core.spi;
 
-import javax.json.JsonPointer;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonPointer;
+import jakarta.json.spi.JsonProvider;
 
 /**
  * Factory to create JsonPointer instances. We have a default one in Johnzon, but the aim is tom being able to
diff --git a/johnzon-core/src/main/resources/META-INF/services/javax.json.spi.JsonProvider b/johnzon-core/src/main/resources/META-INF/services/jakarta.json.spi.JsonProvider
similarity index 100%
rename from johnzon-core/src/main/resources/META-INF/services/javax.json.spi.JsonProvider
rename to johnzon-core/src/main/resources/META-INF/services/jakarta.json.spi.JsonProvider
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/BrokenDefaultTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/BrokenDefaultTest.java
index ec63d9f..eb77917 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/BrokenDefaultTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/BrokenDefaultTest.java
@@ -26,9 +26,9 @@
 import java.nio.charset.StandardCharsets;
 import java.util.Queue;
 
-import javax.json.Json;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParserFactory;
+import jakarta.json.Json;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParserFactory;
 
 import org.junit.Ignore;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/BufferStrategyFactoryTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/BufferStrategyFactoryTest.java
index f122697..060386f 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/BufferStrategyFactoryTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/BufferStrategyFactoryTest.java
@@ -20,8 +20,8 @@
 import java.util.HashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayBuilderImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayBuilderImplTest.java
index 85d14eb..5fdf978 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayBuilderImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayBuilderImplTest.java
@@ -25,11 +25,11 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayImplTest.java
index 8b6dac7..54ab446 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonArrayImplTest.java
@@ -22,9 +22,9 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonBuilderFactoryTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonBuilderFactoryTest.java
index 1a8ba54..f28f3e7 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonBuilderFactoryTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonBuilderFactoryTest.java
@@ -18,9 +18,9 @@
 
 import java.util.Collections;
 
-import javax.json.Json;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonCollectorTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonCollectorTest.java
index ad1c164..fec9fd2 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonCollectorTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonCollectorTest.java
@@ -18,12 +18,12 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.JsonValue.ValueType;
-import javax.json.stream.JsonCollectors;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonValue.ValueType;
+import jakarta.json.stream.JsonCollectors;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.SortedMap;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorFactoryImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorFactoryImplTest.java
index 6f02665..15359d8 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorFactoryImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorFactoryImplTest.java
@@ -20,7 +20,7 @@
 
 import org.junit.Test;
 
-import javax.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGenerator;
 import java.io.ByteArrayOutputStream;
 import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorImplTest.java
index 473b9da..9ca0bb4 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonGeneratorImplTest.java
@@ -30,13 +30,13 @@
 import java.util.HashMap;
 import java.util.Queue;
 
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.json.stream.JsonGenerationException;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.Json;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.json.stream.JsonGenerationException;
+import jakarta.json.stream.JsonGenerator;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchDiffTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchDiffTest.java
index a2c7c3b..f1b86c4 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchDiffTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchDiffTest.java
@@ -18,9 +18,9 @@
 
 import java.io.StringReader;
 
-import javax.json.Json;
-import javax.json.JsonMergePatch;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonObject;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchTest.java
index 172921b..f824494 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonMergeBatchTest.java
@@ -19,12 +19,12 @@
 
 import java.io.StringReader;
 
-import javax.json.Json;
-import javax.json.JsonMergePatch;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonNumberTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonNumberTest.java
index 2a2a12d..81ee765 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonNumberTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonNumberTest.java
@@ -21,9 +21,9 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.math.BigInteger;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
index be97361..99aa39f 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
@@ -27,11 +27,11 @@
 import static java.util.Collections.singletonMap;
 import static org.junit.Assert.assertEquals;
 
-import javax.json.Json;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectImplTest.java
index e3841d0..c9996b3 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectImplTest.java
@@ -26,11 +26,11 @@
 
 import java.util.stream.IntStream;
 
-import javax.json.Json;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserStreamingTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserStreamingTest.java
index 42fd659..19ff327 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserStreamingTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserStreamingTest.java
@@ -31,11 +31,11 @@
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import javax.json.Json;
-import javax.json.JsonNumber;
-import javax.json.JsonString;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.Json;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonString;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParsingException;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
index d388f5f..c2e8b5e 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
@@ -40,17 +40,17 @@
 import java.util.NoSuchElementException;
 import java.util.function.Function;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParser.Event;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParser.Event;
+import jakarta.json.stream.JsonParsingException;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
index b86cd23..1ab0f73 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
@@ -21,13 +21,13 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonPatch;
-import javax.json.JsonPatchBuilder;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPatchBuilder;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchDiffTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchDiffTest.java
index fe53f37..fc9ff4e 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchDiffTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchDiffTest.java
@@ -23,14 +23,14 @@
 import java.io.StringReader;
 import java.io.StringWriter;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
+import jakarta.json.stream.JsonGenerator;
 
 import org.junit.Assert;
 import org.junit.Ignore;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
index 8acefe2..63c906f 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
@@ -21,15 +21,15 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 import java.io.StringReader;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
index 8389f41..1c75e8c 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
@@ -20,16 +20,16 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonPointer;
-import javax.json.JsonReader;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 import java.util.Collections;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonProviderTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonProviderTest.java
index 6d48c54..412df42 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonProviderTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonProviderTest.java
@@ -21,9 +21,9 @@
 import java.math.BigDecimal;
 import java.math.BigInteger;
 
-import javax.json.Json;
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonReaderImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonReaderImplTest.java
index 5da7fa7..66fe7fc 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonReaderImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonReaderImplTest.java
@@ -35,17 +35,17 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonException;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonException;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonParsingException;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonStreamParserImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonStreamParserImplTest.java
index 4537138..77efec5 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonStreamParserImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonStreamParserImplTest.java
@@ -20,7 +20,7 @@
 
 import org.junit.Test;
 
-import javax.json.stream.JsonParser;
+import jakarta.json.stream.JsonParser;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonWriterImplTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonWriterImplTest.java
index f26b29d..561b1d7 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonWriterImplTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonWriterImplTest.java
@@ -23,11 +23,11 @@
 import java.io.ByteArrayOutputStream;
 import java.math.BigDecimal;
 
-import javax.json.Json;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
+import jakarta.json.Json;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
 
 import org.junit.Test;
 
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/LocationTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/LocationTest.java
index 137084d..3e168bc 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/LocationTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/LocationTest.java
@@ -23,11 +23,11 @@
 import java.io.StringReader;
 import java.util.HashMap;
 
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.json.stream.JsonLocation;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.Json;
+import jakarta.json.JsonReader;
+import jakarta.json.stream.JsonLocation;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParsingException;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/OverflowTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/OverflowTest.java
index 47652e4..829fe88 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/OverflowTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/OverflowTest.java
@@ -21,12 +21,12 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
 
 import java.io.StringReader;
 import java.io.StringWriter;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/SerializationTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/SerializationTest.java
index 6074563..633d9d3 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/SerializationTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/SerializationTest.java
@@ -18,11 +18,11 @@
 
 import org.junit.Test;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/SnippetTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/SnippetTest.java
index 017d332..de27b31 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/SnippetTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/SnippetTest.java
@@ -18,10 +18,10 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.Json;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.io.ByteArrayInputStream;
 import java.io.OutputStream;
 import java.io.Writer;
@@ -32,8 +32,8 @@
 import java.util.List;
 import java.util.stream.Stream;
 
-import static javax.json.JsonValue.ValueType.ARRAY;
-import static javax.json.JsonValue.ValueType.OBJECT;
+import static jakarta.json.JsonValue.ValueType.ARRAY;
+import static jakarta.json.JsonValue.ValueType.OBJECT;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
diff --git a/johnzon-distribution/pom.xml b/johnzon-distribution/pom.xml
index 9630f5b..69576e2 100644
--- a/johnzon-distribution/pom.xml
+++ b/johnzon-distribution/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -30,22 +30,22 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-json_1.1_spec</artifactId>
-      <version>${geronimo-jsonp.version}</version>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
+      <version>${jakarta-jsonp-api.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-json_1.1_spec</artifactId>
-      <version>${geronimo-jsonp.version}</version>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
+      <version>${jakarta-jsonp-api.version}</version>
       <scope>compile</scope>
       <classifier>sources</classifier>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-json_1.1_spec</artifactId>
-      <version>${geronimo-jsonp.version}</version>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
+      <version>${jakarta-jsonp-api.version}</version>
       <scope>compile</scope>
       <classifier>javadoc</classifier>
     </dependency>
diff --git a/johnzon-distribution/src/assembly/bin.xml b/johnzon-distribution/src/assembly/bin.xml
index e5a4eb9..d832bdf 100644
--- a/johnzon-distribution/src/assembly/bin.xml
+++ b/johnzon-distribution/src/assembly/bin.xml
@@ -31,7 +31,7 @@
     <dependencySet>
       <useProjectArtifact>false</useProjectArtifact>
       <includes>
-        <include>org.apache.geronimo.specs:geronimo-json-*</include>
+        <include>jakar:geronimo-json-*</include>
         <include>org.apache.johnzon:johnzon-*</include>
       </includes>
       <outputDirectory>/</outputDirectory>
diff --git a/johnzon-jaxrs/pom.xml b/johnzon-jaxrs/pom.xml
index 32d9b2a..c408766 100644
--- a/johnzon-jaxrs/pom.xml
+++ b/johnzon-jaxrs/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -30,9 +30,9 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+      <version>3.1.0</version>
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProvider.java
index f841e30..0b288ad 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProvider.java
@@ -36,14 +36,14 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonReaderFactory;
-import javax.json.stream.JsonGeneratorFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.stream.JsonGeneratorFactory;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.apache.johnzon.mapper.MapperBuilder;
 import org.apache.johnzon.mapper.SerializeValueFilter;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/DelegateProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/DelegateProvider.java
index 21a2b0e..f3c9843 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/DelegateProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/DelegateProvider.java
@@ -20,10 +20,10 @@
 
 import static java.util.Optional.ofNullable;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -82,7 +82,7 @@
         try {
             ofNullable(Thread.currentThread().getContextClassLoader())
                     .orElseGet(ClassLoader::getSystemClassLoader)
-                    .loadClass("javax.ws.rs.core.Feature");
+                    .loadClass("jakarta.ws.rs.core.Feature");
             return true;
         } catch (final NoClassDefFoundError | ClassNotFoundException e) {
             return false;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
index b65349d..7d792c1 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyReader.java
@@ -21,12 +21,12 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.mapper.MapperBuilder;
 
-import javax.json.JsonStructure;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.json.JsonStructure;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Reader;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
index 9c7b1ac..b3a2436 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonMessageBodyWriter.java
@@ -21,13 +21,13 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.mapper.MapperBuilder;
 
-import javax.json.JsonStructure;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.json.JsonStructure;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonProvider.java
index b99e42b..6005c7e 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JohnzonProvider.java
@@ -21,9 +21,9 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.mapper.MapperBuilder;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ext.Provider;
 import java.util.Collection;
 
 @Provider
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyReader.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyReader.java
index 69b0825..3fbee66 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyReader.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyReader.java
@@ -18,15 +18,15 @@
  */
 package org.apache.johnzon.jaxrs;
 
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonStructure;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.json.Json;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonStructure;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyWriter.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyWriter.java
index b6163c2..b1991bc 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyWriter.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrMessageBodyWriter.java
@@ -18,15 +18,15 @@
  */
 package org.apache.johnzon.jaxrs;
 
-import javax.json.Json;
-import javax.json.JsonStructure;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.json.Json;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrProvider.java
index 872dfe9..b9c9279 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/JsrProvider.java
@@ -23,12 +23,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.json.JsonStructure;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.Provider;
+import jakarta.json.JsonStructure;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.Provider;
 
 @Provider
 @Produces("application/json")
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/NoContentExceptionHandlerReader.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/NoContentExceptionHandlerReader.java
index acd496d..9f52217 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/NoContentExceptionHandlerReader.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/NoContentExceptionHandlerReader.java
@@ -23,11 +23,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 public class NoContentExceptionHandlerReader<T> implements MessageBodyReader<T> {
     private final MessageBodyReader<T> delegate;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WadlDocumentMessageBodyWriter.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WadlDocumentMessageBodyWriter.java
index 1a3bdc9..d094518 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WadlDocumentMessageBodyWriter.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WadlDocumentMessageBodyWriter.java
@@ -21,11 +21,11 @@
 import org.apache.johnzon.jaxrs.xml.WadlDocumentToJson;
 import org.w3c.dom.Document;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import javax.xml.stream.XMLStreamException;
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
index 8b9be38..be9ba78 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
@@ -23,14 +23,14 @@
 import org.apache.johnzon.mapper.access.AccessMode;
 import org.apache.johnzon.mapper.access.BaseAccessMode;
 
-import javax.json.JsonReaderFactory;
-import javax.json.stream.JsonGeneratorFactory;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.stream.JsonGeneratorFactory;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJohnzonProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJohnzonProvider.java
index 585622d..01c64ad 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJohnzonProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJohnzonProvider.java
@@ -21,9 +21,9 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.mapper.MapperBuilder;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ext.Provider;
 import java.util.Collection;
 
 @Provider // this is scanned cause does not overlap with JohnzonProvider in terms of mime types
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJsrProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJsrProvider.java
index 657a69e..f877103 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJsrProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardJsrProvider.java
@@ -18,9 +18,9 @@
  */
 package org.apache.johnzon.jaxrs;
 
-import javax.json.JsonStructure;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
+import jakarta.json.JsonStructure;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
 
 // @Provider // don't let it be scanned, it would conflict with JsrProvider
 @Produces({
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/xml/WadlDocumentToJson.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/xml/WadlDocumentToJson.java
index 0768e09..ae1f2f7 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/xml/WadlDocumentToJson.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/xml/WadlDocumentToJson.java
@@ -23,10 +23,10 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import javax.json.Json;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObjectBuilder;
+import jakarta.json.Json;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObjectBuilder;
 import javax.xml.stream.XMLStreamException;
 import java.util.Collection;
 import java.util.Collections;
diff --git a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProviderTest.java b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProviderTest.java
index e95cb13..9299374 100644
--- a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProviderTest.java
+++ b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/ConfigurableJohnzonProviderTest.java
@@ -27,11 +27,11 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.util.List;
diff --git a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
index a77752d..5b81ecb 100644
--- a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
+++ b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JohnzonProviderTest.java
@@ -33,18 +33,18 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.StreamingOutput;
 
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
diff --git a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JsrProviderTest.java b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JsrProviderTest.java
index 9954cbb..0b6deeb 100644
--- a/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JsrProviderTest.java
+++ b/johnzon-jaxrs/src/test/java/org/apache/johnzon/jaxrs/JsrProviderTest.java
@@ -27,14 +27,14 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 import java.util.Iterator;
 
 import static java.util.Arrays.asList;
diff --git a/johnzon-json-extras/pom.xml b/johnzon-json-extras/pom.xml
index ea9918b..0a31375 100644
--- a/johnzon-json-extras/pom.xml
+++ b/johnzon-json-extras/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -35,8 +35,8 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
       <scope>provided</scope>
     </dependency>
 
diff --git a/johnzon-json-extras/src/main/java/org/apache/johnzon/jsonb/extras/polymorphism/Polymorphic.java b/johnzon-json-extras/src/main/java/org/apache/johnzon/jsonb/extras/polymorphism/Polymorphic.java
index 5e3d296..f76398f 100644
--- a/johnzon-json-extras/src/main/java/org/apache/johnzon/jsonb/extras/polymorphism/Polymorphic.java
+++ b/johnzon-json-extras/src/main/java/org/apache/johnzon/jsonb/extras/polymorphism/Polymorphic.java
@@ -33,13 +33,13 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.stream.Stream;
 
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 
 public final class Polymorphic {
     private Polymorphic() {
diff --git a/johnzon-json-extras/src/test/java/org/apache/johnzon/jsonb/extras/polymorphism/PolymorphicTest.java b/johnzon-json-extras/src/test/java/org/apache/johnzon/jsonb/extras/polymorphism/PolymorphicTest.java
index 1b34443..0c329eb 100644
--- a/johnzon-json-extras/src/test/java/org/apache/johnzon/jsonb/extras/polymorphism/PolymorphicTest.java
+++ b/johnzon-json-extras/src/test/java/org/apache/johnzon/jsonb/extras/polymorphism/PolymorphicTest.java
@@ -26,12 +26,12 @@
 
 import java.util.List;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.config.PropertyOrderStrategy;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/pom.xml b/johnzon-jsonb/pom.xml
index f5b99c1..7bcfd30 100644
--- a/johnzon-jsonb/pom.xml
+++ b/johnzon-jsonb/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -35,29 +35,29 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-annotation_1.3_spec</artifactId>
-      <version>1.3</version>
+      <groupId>jakarta.annotation</groupId>
+      <artifactId>jakarta.annotation-api</artifactId>
+      <version>2.1.1</version>
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+      <version>3.1.0</version>
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jcdi_2.0_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.enterprise</groupId>
+      <artifactId>jakarta.enterprise.cdi-api</artifactId>
+      <version>4.0.1</version>
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
       <scope>provided</scope>
     </dependency>
 
@@ -86,22 +86,50 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-interceptor_1.2_spec</artifactId>
-      <version>1.0</version>
+      <groupId>jakarta.interceptor</groupId>
+      <artifactId>jakarta.interceptor-api</artifactId>
+      <version>2.1.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-atinject_1.0_spec</artifactId>
-      <version>1.0</version>
+      <groupId>jakarta.inject</groupId>
+      <artifactId>jakarta.inject-api</artifactId>
+      <version>2.0.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.openwebbeans</groupId>
       <artifactId>openwebbeans-impl</artifactId>
       <version>${owb.version}</version>
+      <classifier>jakarta</classifier>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.openwebbeans</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-spi</artifactId>
+      <version>${owb.version}</version>
+      <classifier>jakarta</classifier>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.openwebbeans</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
   </dependencies>
 
@@ -130,7 +158,7 @@
               JavaJSONB,
               JavaJSONP
             </_contract>
-            <Provide-Capability>osgi.serviceloader;osgi.serviceloader=javax.json.bind.spi.JsonbProvider</Provide-Capability>
+            <Provide-Capability>osgi.serviceloader;osgi.serviceloader=jakarta.json.bind.spi.JsonbProvider</Provide-Capability>
           </instructions>
         </configuration>
       </plugin>
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java
index e12c353..8613d0d 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java
@@ -22,20 +22,20 @@
 import static java.util.stream.Collectors.toMap;
 import static java.util.stream.Collectors.toSet;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -52,10 +52,10 @@
 import java.util.logging.Logger;
 import java.util.stream.Stream;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Providers;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Providers;
 
 import org.apache.johnzon.jsonb.api.experimental.PolymorphicConfig;
 
@@ -314,7 +314,7 @@
         try {
             ofNullable(Thread.currentThread().getContextClassLoader())
                     .orElseGet(ClassLoader::getSystemClassLoader)
-                    .loadClass("javax.ws.rs.core.Feature");
+                    .loadClass("jakarta.ws.rs.core.Feature");
             return true;
         } catch (final NoClassDefFoundError | ClassNotFoundException e) {
             return false;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategy.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategy.java
index ebf427e..919a895 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategy.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategy.java
@@ -21,9 +21,9 @@
 import org.apache.johnzon.mapper.Cleanable;
 import org.apache.johnzon.mapper.util.BeanUtil;
 
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.json.bind.config.PropertyVisibilityStrategy;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -32,7 +32,7 @@
 
 import static java.util.Optional.ofNullable;
 
-class DefaultPropertyVisibilityStrategy implements javax.json.bind.config.PropertyVisibilityStrategy, Cleanable<Class<?>> {
+class DefaultPropertyVisibilityStrategy implements jakarta.json.bind.config.PropertyVisibilityStrategy, Cleanable<Class<?>> {
     private final ConcurrentMap<Class<?>, PropertyVisibilityStrategy> strategies = new ConcurrentHashMap<>();
 
     private volatile boolean skipGetpackage;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
index 400dfcf..4e32ed9 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
@@ -38,19 +38,19 @@
 import org.apache.johnzon.mapper.converter.LocaleConverter;
 import org.apache.johnzon.mapper.internal.AdapterKey;
 
-import javax.json.JsonBuilderFactory;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.config.BinaryDataStrategy;
-import javax.json.bind.config.PropertyNamingStrategy;
-import javax.json.bind.config.PropertyVisibilityStrategy;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParserFactory;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.config.BinaryDataStrategy;
+import jakarta.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParserFactory;
 import java.io.Closeable;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.ParameterizedType;
@@ -64,8 +64,8 @@
 import static java.time.format.DateTimeFormatter.ofPattern;
 import static java.util.Collections.emptyMap;
 import static java.util.Optional.ofNullable;
-import static javax.json.bind.config.PropertyNamingStrategy.IDENTITY;
-import static javax.json.bind.config.PropertyOrderStrategy.ANY;
+import static jakarta.json.bind.config.PropertyNamingStrategy.IDENTITY;
+import static jakarta.json.bind.config.PropertyOrderStrategy.ANY;
 
 public class JohnzonBuilder implements JsonbBuilder {
     private static final Object NO_BM = new Object();
@@ -396,7 +396,7 @@
     private Object getBeanManager() {
         if (beanManager == null) {
             try { // don't trigger CDI if not there
-                final Class<?> cdi = tccl().loadClass("javax.enterprise.inject.spi.CDI");
+                final Class<?> cdi = tccl().loadClass("jakarta.enterprise.inject.spi.CDI");
                 final Object cdiInstance = cdi.getMethod("current").invoke(null);
                 beanManager = cdi.getMethod("getBeanManager").invoke(cdiInstance);
                 cdiIntegration = new CDIs(beanManager);
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonJsonb.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonJsonb.java
index 69c4816..12f12be 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonJsonb.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonJsonb.java
@@ -25,15 +25,15 @@
 import org.apache.johnzon.mapper.MapperException;
 import org.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbException;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonProvider.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonProvider.java
index d21b915..d56247a 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonProvider.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonProvider.java
@@ -18,8 +18,8 @@
  */
 package org.apache.johnzon.jsonb;
 
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.spi.JsonbProvider;
 
 public class JohnzonProvider extends JsonbProvider {
     @Override
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonValueParserAdapter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonValueParserAdapter.java
index 97effb9..4c09496 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonValueParserAdapter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonValueParserAdapter.java
@@ -21,12 +21,12 @@
 import java.math.BigDecimal;

 import java.util.function.Supplier;

 

-import javax.json.JsonNumber;

-import javax.json.JsonString;

-import javax.json.JsonValue;

-import javax.json.stream.JsonLocation;

-import javax.json.stream.JsonParser;

-import javax.json.stream.JsonParserFactory;

+import jakarta.json.JsonNumber;

+import jakarta.json.JsonString;

+import jakarta.json.JsonValue;

+import jakarta.json.stream.JsonLocation;

+import jakarta.json.stream.JsonParser;

+import jakarta.json.stream.JsonParserFactory;

 

 import org.apache.johnzon.mapper.jsonp.RewindableJsonParser;

 

diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonbAccessMode.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonbAccessMode.java
index 49411f5..f6036c5 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonbAccessMode.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JsonbAccessMode.java
@@ -53,28 +53,28 @@
 import org.apache.johnzon.mapper.internal.AdapterKey;
 import org.apache.johnzon.mapper.internal.ConverterAdapter;
 
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonValue;
-import javax.json.bind.JsonbException;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.annotation.JsonbDateFormat;
-import javax.json.bind.annotation.JsonbNillable;
-import javax.json.bind.annotation.JsonbNumberFormat;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbPropertyOrder;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.json.bind.annotation.JsonbTypeAdapter;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.config.PropertyNamingStrategy;
-import javax.json.bind.config.PropertyOrderStrategy;
-import javax.json.bind.config.PropertyVisibilityStrategy;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParserFactory;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbNillable;
+import jakarta.json.bind.annotation.JsonbNumberFormat;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParserFactory;
 import java.io.Closeable;
 import java.io.IOException;
 import java.lang.annotation.Annotation;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactory.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactory.java
index badfc15..3f3fbc0 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactory.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactory.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb;
 
-import javax.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.config.PropertyNamingStrategy;
 import java.util.function.Function;
 
 public class PropertyNamingStrategyFactory {
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/adapter/JsonbEnumAdapter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/adapter/JsonbEnumAdapter.java
index 4a23c0b..9b7fc13 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/adapter/JsonbEnumAdapter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/adapter/JsonbEnumAdapter.java
@@ -20,7 +20,7 @@
 
 import org.apache.johnzon.mapper.MapperConfig;
 
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbProperty;
 import java.lang.reflect.Field;
 import java.lang.reflect.Type;
 import java.util.HashMap;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtension.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtension.java
index d32e68c..522a026 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtension.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtension.java
@@ -20,9 +20,9 @@
 
 import java.lang.reflect.Type;
 
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 
 public interface JsonbExtension {
     // https://github.com/eclipse-ee4j/jsonb-api/issues/111
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/CDIs.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/CDIs.java
index e119fd8..31fb79f 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/CDIs.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/CDIs.java
@@ -46,7 +46,7 @@
         }
 
         private static JohnzonCdiExtension load(final Object beanManager) {
-            final javax.enterprise.inject.spi.BeanManager bm = javax.enterprise.inject.spi.BeanManager.class.cast(beanManager);
+            final jakarta.enterprise.inject.spi.BeanManager bm = jakarta.enterprise.inject.spi.BeanManager.class.cast(beanManager);
             return JohnzonCdiExtension.class.cast(
                 bm.getReference(bm.resolve(bm.getBeans(JohnzonCdiExtension.class)), JohnzonCdiExtension.class, bm.createCreationalContext(null)));
         }
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/JohnzonCdiExtension.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/JohnzonCdiExtension.java
index ee42c9a..56c4208 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/JohnzonCdiExtension.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/cdi/JohnzonCdiExtension.java
@@ -20,10 +20,10 @@
 
 import org.apache.johnzon.jsonb.JohnzonJsonb;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.BeforeShutdown;
-import javax.enterprise.inject.spi.Extension;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.BeforeShutdown;
+import jakarta.enterprise.inject.spi.Extension;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.concurrent.locks.ReentrantLock;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java
index 079c782..f01a9a6 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java
@@ -21,8 +21,8 @@
 import org.apache.johnzon.mapper.TypeAwareAdapter;
 import org.apache.johnzon.mapper.internal.AdapterKey;
 
-import javax.json.bind.JsonbException;
-import javax.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.adapter.JsonbAdapter;
 import java.lang.reflect.Type;
 
 public class JohnzonJsonbAdapter<JsonType, OriginalType> implements TypeAwareAdapter<OriginalType, JsonType> {
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverter.java
index 72c63e0..3b9cd85 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverter.java
@@ -27,7 +27,7 @@
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 
 public class JsonbDateConverter extends JsonbDateConverterBase<Date> {
     private static final ZoneId UTC = ZoneId.of("UTC");
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverterBase.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverterBase.java
index 8d961c4..64bfa04 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverterBase.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbDateConverterBase.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 import java.time.format.DateTimeFormatter;
 
 public abstract class JsonbDateConverterBase<T> extends JsonbLocaleParserConverterBase<T> {
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateConverter.java
index fa8578d..5915432 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 import java.time.LocalDate;
 import java.util.concurrent.TimeUnit;
 
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateTimeConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateTimeConverter.java
index b0c3018..281333e 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateTimeConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbLocalDateTimeConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbNumberConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbNumberConverter.java
index 563968e..5034c3e 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbNumberConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbNumberConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbNumberFormat;
+import jakarta.json.bind.annotation.JsonbNumberFormat;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
 import java.text.NumberFormat;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbOffsetDateTimeConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbOffsetDateTimeConverter.java
index a78c1ac..fa5af36 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbOffsetDateTimeConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbOffsetDateTimeConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneId;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbZonedDateTimeConverter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbZonedDateTimeConverter.java
index d5ce9fc..e6997d3 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbZonedDateTimeConverter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JsonbZonedDateTimeConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.converter;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 import java.time.Instant;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueReader.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueReader.java
index c4899d3..f6fb35e 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueReader.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueReader.java
@@ -24,7 +24,7 @@
 import java.nio.charset.StandardCharsets;
 import java.util.function.Supplier;
 
-import javax.json.JsonStructure;
+import jakarta.json.JsonStructure;
 
 public class JsonValueReader<T> extends Reader implements Supplier<JsonStructure> {
     private final JsonStructure input;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueWriter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueWriter.java
index fbb9404..39e2d01 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueWriter.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/extension/JsonValueWriter.java
@@ -22,11 +22,11 @@
 import java.io.Writer;
 import java.util.function.Consumer;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
 
 public class JsonValueWriter extends Writer implements Consumer<JsonValue> {
     private JsonValue result;
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/factory/CdiJohnzonAdapterFactory.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/factory/CdiJohnzonAdapterFactory.java
index aa2c2b6..2e8621f 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/factory/CdiJohnzonAdapterFactory.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/factory/CdiJohnzonAdapterFactory.java
@@ -18,9 +18,9 @@
  */
 package org.apache.johnzon.jsonb.factory;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
 import java.util.Set;
 
 public class CdiJohnzonAdapterFactory extends SimpleJohnzonAdapterFactory {
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
index c531449..252f1f2 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
@@ -20,14 +20,14 @@
 
 import java.lang.reflect.Type;
 
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParsingException;
 
 import org.apache.johnzon.mapper.MappingParser;
 
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
index 9d69dd1..41c7588 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.mapper.MappingGenerator;
 
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
 
 // TODO: fix it
 public class JohnzonSerializationContext implements SerializationContext {
diff --git a/johnzon-jsonb/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/johnzon-jsonb/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from johnzon-jsonb/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to johnzon-jsonb/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/johnzon-jsonb/src/main/resources/META-INF/services/javax.json.bind.spi.JsonbProvider b/johnzon-jsonb/src/main/resources/META-INF/services/jakarta.json.bind.spi.JsonbProvider
similarity index 100%
rename from johnzon-jsonb/src/main/resources/META-INF/services/javax.json.bind.spi.JsonbProvider
rename to johnzon-jsonb/src/main/resources/META-INF/services/jakarta.json.bind.spi.JsonbProvider
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/RecursivePolymorphismTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/RecursivePolymorphismTest.java
index 14e91dd..11b654e 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/RecursivePolymorphismTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/RecursivePolymorphismTest.java
@@ -20,24 +20,24 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.annotation.JsonbPropertyOrder;
-import javax.json.bind.config.PropertyOrderStrategy;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.lang.reflect.Type;
 import java.util.List;
 
 import static java.util.Arrays.asList;
-import static javax.json.stream.JsonParser.Event.KEY_NAME;
-import static javax.json.stream.JsonParser.Event.START_OBJECT;
-import static javax.json.stream.JsonParser.Event.VALUE_NUMBER;
+import static jakarta.json.stream.JsonParser.Event.KEY_NAME;
+import static jakarta.json.stream.JsonParser.Event.START_OBJECT;
+import static jakarta.json.stream.JsonParser.Event.VALUE_NUMBER;
 import static org.junit.Assert.assertEquals;
 
 public class RecursivePolymorphismTest {
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProviderTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProviderTest.java
index 0d605e6..beeafc8 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProviderTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProviderTest.java
@@ -30,12 +30,12 @@
 import java.lang.reflect.Field;
 import java.nio.charset.StandardCharsets;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.apache.cxf.jaxrs.impl.ProvidersImpl;
 import org.apache.johnzon.core.JsonReaderImpl;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java
index 840273f..f5cb972 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java
@@ -21,14 +21,14 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonString;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbTypeAdapter;
-import javax.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.Json;
+import jakarta.json.JsonString;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.json.bind.config.PropertyOrderStrategy;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AnnotationOrderTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AnnotationOrderTest.java
index 3c75869..a0cf823 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AnnotationOrderTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AnnotationOrderTest.java
@@ -20,10 +20,10 @@
 
 import org.junit.Test;
 
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.annotation.JsonbPropertyOrder;
-import javax.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.config.PropertyNamingStrategy;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java
index 2ef3742..cc733a1 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java
@@ -38,13 +38,13 @@
 import org.apache.webbeans.xml.DefaultBeanArchiveInformation;
 import org.junit.Test;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Inject;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
 import java.lang.annotation.Annotation;
 import java.net.MalformedURLException;
 import java.net.URI;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java
index cb8c45f..440a26c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java
@@ -20,18 +20,18 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbTypeAdapter;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.bind.spi.JsonbProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.bind.spi.JsonbProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.lang.reflect.Type;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ConstructorVisibilityTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ConstructorVisibilityTest.java
index bb69ad0..acfb061 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ConstructorVisibilityTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ConstructorVisibilityTest.java
@@ -20,12 +20,12 @@
 
 import static org.junit.Assert.assertEquals;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.annotation.JsonbProperty;
 
 import org.apache.johnzon.jsonb.test.JsonbRule;
 import org.junit.Rule;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CustomParameterizedTypeTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CustomParameterizedTypeTest.java
index 7b5e2cc..b377ceb 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CustomParameterizedTypeTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CustomParameterizedTypeTest.java
@@ -20,7 +20,7 @@
 
 import org.junit.Test;
 
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.spi.JsonbProvider;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.util.Map;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DateFormatTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DateFormatTest.java
index 81d077e..5fa2369 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DateFormatTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DateFormatTest.java
@@ -32,10 +32,10 @@
 import java.util.TimeZone;
 import java.util.stream.Stream;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 
 import org.apache.johnzon.jsonb.model.Holder;
 import org.apache.johnzon.jsonb.model.packageformat.FormatOnClassModel;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultMappingTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultMappingTest.java
index 5c7f4e2..1ea5565 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultMappingTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultMappingTest.java
@@ -22,15 +22,15 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbException;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.ArrayDeque;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategyTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategyTest.java
index b780497..25e9b5f 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategyTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DefaultPropertyVisibilityStrategyTest.java
@@ -24,11 +24,11 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.json.bind.annotation.JsonbVisibility;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.json.bind.annotation.JsonbVisibility;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DeserializationExceptionMessagesTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DeserializationExceptionMessagesTest.java
index f7a7ff1..0b851cd 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DeserializationExceptionMessagesTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DeserializationExceptionMessagesTest.java
@@ -18,7 +18,7 @@
 
 import org.junit.Test;
 
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.JsonbException;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -794,14 +794,14 @@
     public void arrayOfCharFromArrayOfObject() throws Exception {
         assertMessage("{ \"arrayOfChar\" : [{\"red\": 255, \"green\": 165, \"blue\":0},{\"red\": 0, \"green\": 45, \"blue\":127}] }",
                 "Widget property 'arrayOfChar' of type char[] cannot be mapped to json array value: [{\"red\":255,\"gree" +
-                        "n\":...\nCannot cast org.apache.johnzon.core.JsonObjectImpl to javax.json.JsonString");
+                        "n\":...\nCannot cast org.apache.johnzon.core.JsonObjectImpl to jakarta.json.JsonString");
     }
 
     @Test
     public void arrayOfCharFromArrayOfBoolean() throws Exception {
         assertMessage("{ \"arrayOfChar\" : [true,false,true,true,false] }",
                 "Widget property 'arrayOfChar' of type char[] cannot be mapped to json array value: [true,false,true," +
-                        "tru...\nCannot cast javax.json.JsonValue$2 to javax.json.JsonString");
+                        "tru...\nCannot cast jakarta.json.JsonValueImpl to jakarta.json.JsonString");
     }
 
     @Test
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DynamicBufferResizingTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DynamicBufferResizingTest.java
index 22c6e78..2f7ada8 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DynamicBufferResizingTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/DynamicBufferResizingTest.java
@@ -21,14 +21,14 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbPropertyOrder;
-import javax.json.bind.config.BinaryDataStrategy;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.config.BinaryDataStrategy;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/EnumConverterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/EnumConverterTest.java
index 7e081e5..ffb4e4c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/EnumConverterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/EnumConverterTest.java
@@ -22,7 +22,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbProperty;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ExceptionAsserts.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ExceptionAsserts.java
index 777ea0b..f1bd364 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ExceptionAsserts.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ExceptionAsserts.java
@@ -18,9 +18,9 @@
 
 import org.junit.Assert;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
 import java.io.ByteArrayOutputStream;
 import java.lang.reflect.Type;
 import java.util.concurrent.Callable;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/FailOnUnknownPropertiesTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/FailOnUnknownPropertiesTest.java
index 36b5740..9b8f80f 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/FailOnUnknownPropertiesTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/FailOnUnknownPropertiesTest.java
@@ -20,10 +20,10 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/GenericAdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/GenericAdapterTest.java
index 730e27c..bdca9be 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/GenericAdapterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/GenericAdapterTest.java
@@ -15,11 +15,11 @@
 
 import static org.junit.Assert.assertEquals;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.config.PropertyOrderStrategy;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/IJsonTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/IJsonTest.java
index 6d709fe..2cc685d 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/IJsonTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/IJsonTest.java
@@ -25,10 +25,10 @@
 import java.util.Date;
 import java.util.TimeZone;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
 
 import org.apache.johnzon.jsonb.model.Holder;
 import org.junit.Test;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/InterfaceMappingTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/InterfaceMappingTest.java
index c5bdc4e..cef36fd 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/InterfaceMappingTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/InterfaceMappingTest.java
@@ -21,9 +21,9 @@
 import static java.util.Collections.singletonMap;
 import static org.junit.Assert.assertEquals;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonConverterInJsonbTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonConverterInJsonbTest.java
index 4ce2e13..cab88d3 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonConverterInJsonbTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonConverterInJsonbTest.java
@@ -23,10 +23,10 @@
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.bind.Jsonb;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import org.apache.johnzon.mapper.Converter;
 import org.apache.johnzon.mapper.JohnzonConverter;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonIgnoreNestedTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonIgnoreNestedTest.java
index 2bf3815..2a8b40f 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonIgnoreNestedTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonIgnoreNestedTest.java
@@ -21,8 +21,8 @@
 import org.apache.johnzon.mapper.JohnzonIgnoreNested;
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.spi.JsonbProvider;
 import java.util.Collection;
 
 import static java.util.Collections.singletonList;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonJsonbTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonJsonbTest.java
index 01e790d..9410fb5 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonJsonbTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonJsonbTest.java
@@ -20,11 +20,11 @@
 
 import static org.junit.Assert.assertEquals;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonValue;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
 
 import org.apache.johnzon.jsonb.test.JsonbRule;
 import org.junit.Rule;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonProviderTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonProviderTest.java
index b35bd2d..cd13df0 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonProviderTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JohnzonProviderTest.java
@@ -20,7 +20,7 @@
 
 import org.junit.Test;
 
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import static org.junit.Assert.assertNotNull;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterExceptionsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterExceptionsTest.java
index 84a1998..7f94699 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterExceptionsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterExceptionsTest.java
@@ -18,12 +18,12 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
 import java.util.concurrent.Callable;
 
 import static org.junit.Assert.assertNotNull;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterTest.java
index 256f855..e037ac4 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbAdapterTest.java
@@ -22,7 +22,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.adapter.JsonbAdapter;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanConstructorExceptionsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanConstructorExceptionsTest.java
index a395df2..ef0f83c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanConstructorExceptionsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanConstructorExceptionsTest.java
@@ -18,7 +18,7 @@
 
 import org.junit.Test;
 
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.JsonbException;
 import java.beans.ConstructorProperties;
 import java.lang.reflect.Type;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanSetterUserExceptionsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanSetterUserExceptionsTest.java
index 531276c..e5bebb8 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanSetterUserExceptionsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbBeanSetterUserExceptionsTest.java
@@ -18,7 +18,7 @@
 
 import org.junit.Test;
 
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.JsonbException;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbCreatorExceptionsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbCreatorExceptionsTest.java
index 1500160..ed620b9 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbCreatorExceptionsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbCreatorExceptionsTest.java
@@ -18,9 +18,9 @@
 
 import org.junit.Test;
 
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.annotation.JsonbProperty;
 
 public class JsonbCreatorExceptionsTest {
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbJsonValueTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbJsonValueTest.java
index a21f28a..0b2a666 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbJsonValueTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbJsonValueTest.java
@@ -20,10 +20,10 @@
 
 import static org.junit.Assert.assertEquals;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
 
 import org.apache.johnzon.jsonb.extension.JsonValueReader;
 import org.apache.johnzon.jsonb.extension.JsonValueWriter;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java
index 5d85a40..178a188 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java
@@ -20,14 +20,14 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbDateFormat;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.config.BinaryDataStrategy;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.config.BinaryDataStrategy;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import java.io.ByteArrayInputStream;
 import java.io.StringReader;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java
index 8560ee9..16397c8 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java
@@ -23,7 +23,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbProperty;
 import java.util.Objects;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbSerializerExceptionsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbSerializerExceptionsTest.java
index 43bc71c..4998148 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbSerializerExceptionsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbSerializerExceptionsTest.java
@@ -18,18 +18,18 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.lang.reflect.Type;
 import java.util.concurrent.Callable;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTransientTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTransientTest.java
index 417244f..65626aa 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTransientTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTransientTest.java
@@ -23,11 +23,11 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbException;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
index dcf77cd..089f99b 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
@@ -50,9 +50,9 @@
 import java.util.TimeZone;
 import java.util.concurrent.TimeUnit;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import org.apache.cxf.common.util.StringUtils;
 import org.junit.Test;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbVisitilityTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbVisitilityTest.java
index 20abeb6..c6b56f7 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbVisitilityTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbVisitilityTest.java
@@ -21,11 +21,11 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.json.bind.config.PropertyVisibilityStrategy;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
+import jakarta.json.bind.spi.JsonbProvider;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
index 60fbfdb..a2fb312 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
@@ -20,15 +20,15 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.annotation.JsonbDateFormat;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.config.PropertyOrderStrategy;
-import javax.json.bind.spi.JsonbProvider;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.spi.JsonbProvider;
 import java.io.ByteArrayOutputStream;
 import java.io.StringWriter;
 import java.time.LocalDateTime;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NamingTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NamingTest.java
index 715523a..b00d5a6 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NamingTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NamingTest.java
@@ -22,8 +22,8 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.annotation.JsonbCreator;
-import javax.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.annotation.JsonbCreator;
+import jakarta.json.bind.config.PropertyNamingStrategy;
 import java.util.StringJoiner;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NillableTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NillableTest.java
index afa3f9b..9334c8a 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NillableTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/NillableTest.java
@@ -20,9 +20,9 @@
 
 import static org.junit.Assert.assertEquals;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
 
 import org.apache.johnzon.jsonb.model.NillableType;
 import org.apache.johnzon.jsonb.model.nillable.NotNillablePropertyModel;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ObjectSerializationTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ObjectSerializationTest.java
index 7ad703c..e1c9c1c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ObjectSerializationTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ObjectSerializationTest.java
@@ -21,8 +21,8 @@
 import static java.util.Arrays.asList;
 import static org.junit.Assert.assertEquals;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OrderTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OrderTest.java
index a2630d3..a7032d0 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OrderTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OrderTest.java
@@ -21,7 +21,7 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import javax.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
 
 import org.apache.johnzon.jsonb.test.JsonbRule;
 import org.junit.Rule;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OverrideDefaultAdaptersTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OverrideDefaultAdaptersTest.java
index 6b5c1b8..282ef81 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OverrideDefaultAdaptersTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/OverrideDefaultAdaptersTest.java
@@ -28,11 +28,11 @@
 import java.time.format.DateTimeParseException;
 import java.util.Date;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.adapter.JsonbAdapter;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ParserGeneratorMappingTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ParserGeneratorMappingTest.java
index e414e81..097a9c7 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ParserGeneratorMappingTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ParserGeneratorMappingTest.java
@@ -23,9 +23,9 @@
 import java.io.StringReader;
 import java.io.StringWriter;
 
-import javax.json.Json;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.Json;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 
 import org.apache.johnzon.jsonb.test.JsonbRule;
 import org.junit.Rule;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PolymorphicConfigTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PolymorphicConfigTest.java
index de2e5d7..a1a827b 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PolymorphicConfigTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PolymorphicConfigTest.java
@@ -25,10 +25,10 @@
 import java.util.List;
 import java.util.Objects;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.config.PropertyOrderStrategy;
 
 import org.apache.johnzon.jsonb.api.experimental.PolymorphicConfig;
 import org.junit.Test;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactoryTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactoryTest.java
index d9d14ed..1349812 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactoryTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/PropertyNamingStrategyFactoryTest.java
@@ -23,7 +23,7 @@
 import org.junit.experimental.theories.Theory;
 import org.junit.runner.RunWith;
 
-import javax.json.bind.config.PropertyNamingStrategy;
+import jakarta.json.bind.config.PropertyNamingStrategy;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
index 8a7d86b..d640c09 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
@@ -31,19 +31,19 @@
 import java.util.Objects;
 import java.util.UUID;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.config.PropertyOrderStrategy;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 
 import org.apache.johnzon.jsonb.model.Holder;
 import org.apache.johnzon.jsonb.test.JsonbRule;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersMapTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersMapTest.java
index 4e14592..a5a6245 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersMapTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersMapTest.java
@@ -23,14 +23,14 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.io.Serializable;
 import java.lang.reflect.Type;
 import java.util.HashMap;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersObjectWithEmbeddedListTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersObjectWithEmbeddedListTest.java
index 81b8293..a92708c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersObjectWithEmbeddedListTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersObjectWithEmbeddedListTest.java
@@ -22,10 +22,10 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersRoundTripTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersRoundTripTest.java
index 2a40a9a..88ef32e 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersRoundTripTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializersRoundTripTest.java
@@ -26,20 +26,20 @@
 import java.util.UUID;

 import java.util.stream.Collectors;

 

-import javax.json.JsonString;

-import javax.json.JsonValue;

-import javax.json.bind.Jsonb;

-import javax.json.bind.JsonbBuilder;

-import javax.json.bind.adapter.JsonbAdapter;

-import javax.json.bind.annotation.JsonbTypeAdapter;

-import javax.json.bind.annotation.JsonbTypeDeserializer;

-import javax.json.bind.annotation.JsonbTypeSerializer;

-import javax.json.bind.serializer.DeserializationContext;

-import javax.json.bind.serializer.JsonbDeserializer;

-import javax.json.bind.serializer.JsonbSerializer;

-import javax.json.bind.serializer.SerializationContext;

-import javax.json.stream.JsonGenerator;

-import javax.json.stream.JsonParser;

+import jakarta.json.JsonString;

+import jakarta.json.JsonValue;

+import jakarta.json.bind.Jsonb;

+import jakarta.json.bind.JsonbBuilder;

+import jakarta.json.bind.adapter.JsonbAdapter;

+import jakarta.json.bind.annotation.JsonbTypeAdapter;

+import jakarta.json.bind.annotation.JsonbTypeDeserializer;

+import jakarta.json.bind.annotation.JsonbTypeSerializer;

+import jakarta.json.bind.serializer.DeserializationContext;

+import jakarta.json.bind.serializer.JsonbDeserializer;

+import jakarta.json.bind.serializer.JsonbSerializer;

+import jakarta.json.bind.serializer.SerializationContext;

+import jakarta.json.stream.JsonGenerator;

+import jakarta.json.stream.JsonParser;

 

 import org.junit.Test;

 

diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SnippetMaxLengthTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SnippetMaxLengthTest.java
index 93c437e..7e1ac66 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SnippetMaxLengthTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SnippetMaxLengthTest.java
@@ -18,10 +18,10 @@
 
 import org.junit.Test;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtensionTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtensionTest.java
index a2d612c..b6f186f 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtensionTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/api/experimental/JsonbExtensionTest.java
@@ -23,20 +23,20 @@
 import org.junit.Rule;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.json.bind.annotation.JsonbTypeDeserializer;
-import javax.json.bind.annotation.JsonbTypeSerializer;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.bind.serializer.JsonbSerializer;
-import javax.json.bind.serializer.SerializationContext;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.json.bind.annotation.JsonbTypeDeserializer;
+import jakarta.json.bind.annotation.JsonbTypeSerializer;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.bind.serializer.JsonbSerializer;
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.io.Serializable;
 import java.io.StringReader;
 import java.io.StringWriter;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java
index 890f7ab..5f37eec 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java
@@ -29,14 +29,14 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.StreamingOutput;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.lang.reflect.ParameterizedType;
@@ -46,9 +46,9 @@
 
 import static java.util.Arrays.asList;
 import static java.util.Collections.singletonList;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.ws.rs.ext.ContextResolver;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/NillableType.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/NillableType.java
index 7b3bfc3..20f1cd3 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/NillableType.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/NillableType.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.model;
 
-import javax.json.bind.annotation.JsonbNillable;
+import jakarta.json.bind.annotation.JsonbNillable;
 
 @JsonbNillable
 public class NillableType {
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/NotNillablePropertyModel.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/NotNillablePropertyModel.java
index 7f1aeb7..af526ba 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/NotNillablePropertyModel.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/NotNillablePropertyModel.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.model.nillable;
 
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbProperty;
 
 public class NotNillablePropertyModel {
     @JsonbProperty(nillable = false)
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/notnillable/package-info.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/notnillable/package-info.java
index f548116..36e54ce 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/notnillable/package-info.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/notnillable/package-info.java
@@ -19,4 +19,4 @@
 @JsonbNillable(false)
 package org.apache.johnzon.jsonb.model.nillable.notnillable;
 
-import javax.json.bind.annotation.JsonbNillable;
+import jakarta.json.bind.annotation.JsonbNillable;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/package-info.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/package-info.java
index 5071b4e..c5a300b 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/package-info.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/nillable/package-info.java
@@ -19,4 +19,4 @@
 @JsonbNillable
 package org.apache.johnzon.jsonb.model.nillable;
 
-import javax.json.bind.annotation.JsonbNillable;
+import jakarta.json.bind.annotation.JsonbNillable;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatFromClassModel.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatFromClassModel.java
index e6651e5..1eee25c 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatFromClassModel.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatFromClassModel.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.jsonb.model.packageformat;
 
-import javax.json.bind.annotation.JsonbNumberFormat;
+import jakarta.json.bind.annotation.JsonbNumberFormat;
 
 @JsonbNumberFormat("###,###.###")
 public class FormatFromClassModel extends FormatFromPackageModel {
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatOnClassModel.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatOnClassModel.java
index 24162f7..57c2925 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatOnClassModel.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/FormatOnClassModel.java
@@ -20,7 +20,7 @@
 
 import java.util.Date;
 
-import javax.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
 
 import org.apache.johnzon.jsonb.model.Holder;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/package-info.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/package-info.java
index 569da0e..d8e8402 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/package-info.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/model/packageformat/package-info.java
@@ -20,5 +20,5 @@
 @JsonbDateFormat(value = "E DD MMM yyyy HH:mm:ss z", locale = "it")
 package org.apache.johnzon.jsonb.model.packageformat;
 
-import javax.json.bind.annotation.JsonbDateFormat;
-import javax.json.bind.annotation.JsonbNumberFormat;
+import jakarta.json.bind.annotation.JsonbDateFormat;
+import jakarta.json.bind.annotation.JsonbNumberFormat;
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/serializer/DeserializationContextTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/serializer/DeserializationContextTest.java
index 1be5e35..b9659d4 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/serializer/DeserializationContextTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/serializer/DeserializationContextTest.java
@@ -22,12 +22,12 @@
 
 import java.lang.reflect.Type;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.serializer.DeserializationContext;
-import javax.json.bind.serializer.JsonbDeserializer;
-import javax.json.stream.JsonParser;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.serializer.DeserializationContext;
+import jakarta.json.bind.serializer.JsonbDeserializer;
+import jakarta.json.stream.JsonParser;
 
 import org.junit.Test;
 
diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/test/JsonbRule.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/test/JsonbRule.java
index f617fe1..855d159 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/test/JsonbRule.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/test/JsonbRule.java
@@ -23,14 +23,14 @@
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import javax.json.JsonValue;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.JsonbException;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.JsonbException;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonParser;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
diff --git a/johnzon-jsonlogic/pom.xml b/johnzon-jsonlogic/pom.xml
index c176053..48cffa6 100644
--- a/johnzon-jsonlogic/pom.xml
+++ b/johnzon-jsonlogic/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogic.java b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogic.java
index 21e7618..bcd682e 100644
--- a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogic.java
+++ b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogic.java
@@ -20,19 +20,19 @@
 
 import org.apache.johnzon.jsonlogic.spi.Operator;
 
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonException;
-import javax.json.JsonMergePatch;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonPointer;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonException;
+import jakarta.json.JsonMergePatch;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
diff --git a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/AsyncOperator.java b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/AsyncOperator.java
index 42e2d22..fdbeca0 100644
--- a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/AsyncOperator.java
+++ b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/AsyncOperator.java
@@ -20,7 +20,7 @@
 
 import org.apache.johnzon.jsonlogic.JohnzonJsonLogic;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.ExecutionException;
 
diff --git a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/Operator.java b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/Operator.java
index a66c16f..61f82e4 100644
--- a/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/Operator.java
+++ b/johnzon-jsonlogic/src/main/java/org/apache/johnzon/jsonlogic/spi/Operator.java
@@ -20,7 +20,7 @@
 
 import org.apache.johnzon.jsonlogic.JohnzonJsonLogic;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionStage;
 
diff --git a/johnzon-jsonlogic/src/test/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogicTest.java b/johnzon-jsonlogic/src/test/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogicTest.java
index 53950ab..1bb8a9c 100644
--- a/johnzon-jsonlogic/src/test/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogicTest.java
+++ b/johnzon-jsonlogic/src/test/java/org/apache/johnzon/jsonlogic/JohnzonJsonLogicTest.java
@@ -22,11 +22,11 @@
 import org.apache.johnzon.jsonlogic.spi.Operator;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.json.JsonPatch;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonPatch;
+import jakarta.json.JsonValue;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.CountDownLatch;
diff --git a/johnzon-jsonp-strict/pom.xml b/johnzon-jsonp-strict/pom.xml
index 5733925..10b11d3 100644
--- a/johnzon-jsonp-strict/pom.xml
+++ b/johnzon-jsonp-strict/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/johnzon-jsonp-strict/src/main/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactory.java b/johnzon-jsonp-strict/src/main/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactory.java
index 953106e..f9b11f2 100644
--- a/johnzon-jsonp-strict/src/main/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactory.java
+++ b/johnzon-jsonp-strict/src/main/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactory.java
@@ -21,8 +21,8 @@
 import org.apache.johnzon.core.JsonPointerImpl;
 import org.apache.johnzon.core.spi.JsonPointerFactory;
 
-import javax.json.JsonPointer;
-import javax.json.spi.JsonProvider;
+import jakarta.json.JsonPointer;
+import jakarta.json.spi.JsonProvider;
 
 /**
  * This aims at replacing the {@link org.apache.johnzon.core.DefaultJsonPointerFactory} in order to force Johnzon
diff --git a/johnzon-jsonp-strict/src/test/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactoryTest.java b/johnzon-jsonp-strict/src/test/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactoryTest.java
index bd6e0ec..37feedb 100644
--- a/johnzon-jsonp-strict/src/test/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactoryTest.java
+++ b/johnzon-jsonp-strict/src/test/java/org/apache/johnzon/jsonp/strict/StrictJsonPointerFactoryTest.java
@@ -21,11 +21,11 @@
 import org.apache.johnzon.core.JsonPointerImpl;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonException;
-import javax.json.JsonPointer;
-import javax.json.JsonStructure;
-import javax.json.spi.JsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonException;
+import jakarta.json.JsonPointer;
+import jakarta.json.JsonStructure;
+import jakarta.json.spi.JsonProvider;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/johnzon-jsonschema/pom.xml b/johnzon-jsonschema/pom.xml
index 7b3a796..21347f8 100644
--- a/johnzon-jsonschema/pom.xml
+++ b/johnzon-jsonschema/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -37,9 +37,9 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
-      <version>${geronimo-jsonb.version}</version>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
+      <version>${jakarta-jsonb-api.version}</version>
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidator.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidator.java
index 78af768..a142a96 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidator.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidator.java
@@ -25,7 +25,7 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 public class JsonSchemaValidator implements Function<JsonValue, ValidationResult>, AutoCloseable {
     private static final ValidationResult SUCCESS = new ValidationResult(emptyList());
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorFactory.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorFactory.java
index d62752f..72b9cf7 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorFactory.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorFactory.java
@@ -33,8 +33,8 @@
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.regex.JavaRegex;
 import org.apache.johnzon.jsonschema.regex.JavascriptRegex;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
index 45022f8..b081c76 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
@@ -18,10 +18,10 @@
  */
 package org.apache.johnzon.jsonschema.generator;
 
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.annotation.JsonbProperty;
 import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalTime;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/Schema.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/Schema.java
index b05b879..1504546 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/Schema.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/Schema.java
@@ -18,10 +18,10 @@
  */
 package org.apache.johnzon.jsonschema.generator;
 
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbPropertyOrder;
-import javax.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
 import java.util.List;
 import java.util.Map;
 
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/SchemaProcessor.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/SchemaProcessor.java
index 5062567..21d7ed0 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/SchemaProcessor.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/SchemaProcessor.java
@@ -18,14 +18,14 @@
  */
 package org.apache.johnzon.jsonschema.generator;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbTransient;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbTransient;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Field;
@@ -677,7 +677,10 @@
             if (Boolean.class == type) {
                 return false;
             }
-            if (type.getName().startsWith("java.") || type.getName().startsWith("javax.")) {
+            if (type.getName().startsWith("java.")
+                || type.getName().startsWith("javax.")
+                || type.getName().startsWith("jakarta.")
+            ) {
                 return null;
             }
             try {
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationContext.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationContext.java
index 04192cd..10b7532 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationContext.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationContext.java
@@ -23,8 +23,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 public class ValidationContext {
     private final String[] path;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationExtension.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationExtension.java
index 0b9b22c..6949b0a 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationExtension.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/ValidationExtension.java
@@ -22,7 +22,7 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseNumberValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseNumberValidation.java
index 14c5ee4..3db5f23 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseNumberValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseNumberValidation.java
@@ -21,8 +21,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseValidation.java
index 35bc621..ab531b6 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/BaseValidation.java
@@ -21,11 +21,11 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ContainsValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ContainsValidation.java
index fe17da9..b0b81b9 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ContainsValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ContainsValidation.java
@@ -23,8 +23,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.JsonSchemaValidator;
 import org.apache.johnzon.jsonschema.JsonSchemaValidatorFactory;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidation.java
index 0185841..3da70b0 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidation.java
@@ -25,7 +25,7 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMaximumValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMaximumValidation.java
index d5bbe50..2b887b5 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMaximumValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMaximumValidation.java
@@ -22,8 +22,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMinimumValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMinimumValidation.java
index aa47938..83f05d7 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMinimumValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ExclusiveMinimumValidation.java
@@ -22,8 +22,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/IntegerValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/IntegerValidation.java
index 8108457..4d0ced2 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/IntegerValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/IntegerValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonString;
-import javax.json.JsonValue;
-import javax.json.JsonValue.ValueType;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
+import jakarta.json.JsonValue.ValueType;
 
 import org.apache.johnzon.jsonschema.ValidationResult.ValidationError;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ItemsValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ItemsValidation.java
index 3d7315b..943b35c 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ItemsValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/ItemsValidation.java
@@ -27,8 +27,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.JsonSchemaValidator;
 import org.apache.johnzon.jsonschema.JsonSchemaValidatorFactory;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxItemsValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxItemsValidation.java
index d60ec0d..ce295dd 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxItemsValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxItemsValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxLengthValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxLengthValidation.java
index fe5a8c1..bd943d3 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxLengthValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxLengthValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxPropertiesValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxPropertiesValidation.java
index 36b06dd..df98b0e 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxPropertiesValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaxPropertiesValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaximumValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaximumValidation.java
index 059eab8..890e2d9 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaximumValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MaximumValidation.java
@@ -22,8 +22,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinItemsValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinItemsValidation.java
index 0787e2a..8ed92a0 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinItemsValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinItemsValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinLengthValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinLengthValidation.java
index 820e0ee..55a6a3d 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinLengthValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinLengthValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinPropertiesValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinPropertiesValidation.java
index ce8036d..a37cd0c 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinPropertiesValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinPropertiesValidation.java
@@ -22,9 +22,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinimumValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinimumValidation.java
index 4b33d67..cab14c6 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinimumValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MinimumValidation.java
@@ -22,8 +22,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MultipleOfValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MultipleOfValidation.java
index 72a1862..3e51151 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MultipleOfValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/MultipleOfValidation.java
@@ -22,8 +22,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonNumber;
-import javax.json.JsonValue;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/PatternValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/PatternValidation.java
index 8778444..0571512 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/PatternValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/PatternValidation.java
@@ -23,8 +23,8 @@
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/RequiredValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/RequiredValidation.java
index 2749162..24c9e35 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/RequiredValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/RequiredValidation.java
@@ -26,9 +26,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/TypeValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/TypeValidation.java
index 67c1ace..7c3d70f 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/TypeValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/TypeValidation.java
@@ -26,9 +26,9 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonString;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonString;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/UniqueItemsValidation.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/UniqueItemsValidation.java
index ceef0b6..3d127b5 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/UniqueItemsValidation.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/spi/builtin/UniqueItemsValidation.java
@@ -25,8 +25,8 @@
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonValue;
 
 import org.apache.johnzon.jsonschema.ValidationResult;
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
diff --git a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorTest.java b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorTest.java
index adae7ae..30affbf 100644
--- a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorTest.java
+++ b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/JsonSchemaValidatorTest.java
@@ -27,8 +27,8 @@
 import java.math.BigInteger;
 import java.util.Collection;
 
-import javax.json.Json;
-import javax.json.JsonBuilderFactory;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/generator/PojoGeneratorTest.java b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/generator/PojoGeneratorTest.java
index 8115839..cc5e313 100644
--- a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/generator/PojoGeneratorTest.java
+++ b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/generator/PojoGeneratorTest.java
@@ -20,9 +20,9 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -429,8 +429,8 @@
         return "" +
                 "package org.test;\n" +
                 "\n" +
+                "import jakarta.json.JsonObject;\n" +
                 "import java.util.Objects;\n" +
-                "import javax.json.JsonObject;\n" +
                 "\n" +
                 "public class TheClassMetadataManagedFields {\n" +
                 "    private String apiVersion;\n" +
diff --git a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidationTest.java b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidationTest.java
index 9361483..0a274cb 100644
--- a/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidationTest.java
+++ b/johnzon-jsonschema/src/test/java/org/apache/johnzon/jsonschema/spi/builtin/EnumValidationTest.java
@@ -22,8 +22,8 @@
 import org.apache.johnzon.jsonschema.spi.ValidationContext;
 import org.junit.Test;
 
-import javax.json.Json;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonValue;
 import java.util.function.Function;
 import java.util.stream.Stream;
 
diff --git a/johnzon-mapper/pom.xml b/johnzon-mapper/pom.xml
index 3390665..312b534 100644
--- a/johnzon-mapper/pom.xml
+++ b/johnzon-mapper/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -36,10 +36,27 @@
     </dependency>
 
     <dependency>
+      <groupId>jakarta.persistence</groupId>
+      <artifactId>jakarta.persistence-api</artifactId>
+      <version>3.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.transaction</groupId>
+      <artifactId>jakarta.transaction-api</artifactId>
+      <version>2.0.1</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa</artifactId>
       <version>3.2.2</version>
+      <classifier>jakarta</classifier>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.h2database</groupId>
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/DynamicMappingGenerator.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/DynamicMappingGenerator.java
index 163eade..4dce3dd 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/DynamicMappingGenerator.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/DynamicMappingGenerator.java
@@ -18,8 +18,8 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ExceptionMessages.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ExceptionMessages.java
index 58825c0..33690c0 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ExceptionMessages.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ExceptionMessages.java
@@ -16,18 +16,18 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 import java.lang.reflect.GenericArrayType;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.lang.reflect.WildcardType;
 
-import static javax.json.JsonValue.ValueType.ARRAY;
-import static javax.json.JsonValue.ValueType.FALSE;
-import static javax.json.JsonValue.ValueType.NUMBER;
-import static javax.json.JsonValue.ValueType.OBJECT;
-import static javax.json.JsonValue.ValueType.STRING;
-import static javax.json.JsonValue.ValueType.TRUE;
+import static jakarta.json.JsonValue.ValueType.ARRAY;
+import static jakarta.json.JsonValue.ValueType.FALSE;
+import static jakarta.json.JsonValue.ValueType.NUMBER;
+import static jakarta.json.JsonValue.ValueType.OBJECT;
+import static jakarta.json.JsonValue.ValueType.STRING;
+import static jakarta.json.JsonValue.ValueType.TRUE;
 
 public final class ExceptionMessages {
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/FactoryCreateException.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/FactoryCreateException.java
index 1b8fc3d..459cb2f 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/FactoryCreateException.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/FactoryCreateException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
 import java.lang.reflect.Type;
 
 public class FactoryCreateException extends MapperException {
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonCores.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonCores.java
index 76a0e35..e4b66ae 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonCores.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonCores.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGeneratorFactory;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGeneratorFactory;
+import jakarta.json.stream.JsonParser;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JsonObjectGenerator.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JsonObjectGenerator.java
index 9f8b380..0dbf0cc 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JsonObjectGenerator.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JsonObjectGenerator.java
@@ -22,11 +22,11 @@
 import java.math.BigInteger;
 import java.util.LinkedList;
 
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
 
 // assume usage is right, since it is an internal based on the fact we correctly use jsongenerator api it is fine
 // todo: drop reflection, it is not needed here but it was simpler for a first impl
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
index 022eaee..dc4f086 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
@@ -22,18 +22,18 @@
 import org.apache.johnzon.mapper.reflection.JohnzonCollectionType;
 import org.apache.johnzon.mapper.util.ArrayUtil;
 
-import javax.json.JsonArray;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGeneratorFactory;
+import jakarta.json.stream.JsonParser;
 import java.io.Closeable;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java
index ef4ca51..07ad02b 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java
@@ -43,11 +43,11 @@
 import org.apache.johnzon.mapper.internal.ConverterAdapter;
 import org.apache.johnzon.mapper.map.LazyConverterMap;
 
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonReaderFactory;
-import javax.json.spi.JsonProvider;
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.spi.JsonProvider;
+import jakarta.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGeneratorFactory;
 import java.io.Closeable;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperConfig.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperConfig.java
index 1bc0175..ae69bfb 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperConfig.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperConfig.java
@@ -23,8 +23,8 @@
 import org.apache.johnzon.mapper.internal.ConverterAdapter;
 import org.apache.johnzon.mapper.map.LazyConverterMap;
 
-import javax.json.Json;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonValue;
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
 import java.util.Collection;
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperException.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperException.java
index db7e385..0772d18 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperException.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperException.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonException;
+import jakarta.json.JsonException;
 
 public class MapperException extends JsonException {
     public MapperException(final Throwable e) {
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
index 3e52812..d4ac625 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGenerator;
 
 /**
  * Handles writing Json for Objects.
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
index 224bdd4..2d6ac18 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
@@ -25,8 +25,8 @@
 import org.apache.johnzon.mapper.internal.JsonPointerTracker;
 import org.apache.johnzon.mapper.util.ArrayUtil;
 
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerator;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonGenerator;
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
index 7a265a6..69f3b30 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 import java.lang.reflect.Type;
 import java.util.Collection;
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
index 711453d..0eb2354 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
@@ -26,13 +26,13 @@
 import org.apache.johnzon.mapper.number.Validator;
 import org.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
 import java.lang.reflect.Array;
 import java.lang.reflect.GenericArrayType;
 import java.lang.reflect.InvocationTargetException;
@@ -79,12 +79,12 @@
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toList;
 import static java.util.stream.Collectors.toMap;
-import static javax.json.JsonValue.ValueType.ARRAY;
-import static javax.json.JsonValue.ValueType.FALSE;
-import static javax.json.JsonValue.ValueType.NULL;
-import static javax.json.JsonValue.ValueType.NUMBER;
-import static javax.json.JsonValue.ValueType.STRING;
-import static javax.json.JsonValue.ValueType.TRUE;
+import static jakarta.json.JsonValue.ValueType.ARRAY;
+import static jakarta.json.JsonValue.ValueType.FALSE;
+import static jakarta.json.JsonValue.ValueType.NULL;
+import static jakarta.json.JsonValue.ValueType.NUMBER;
+import static jakarta.json.JsonValue.ValueType.STRING;
+import static jakarta.json.JsonValue.ValueType.TRUE;
 import static org.apache.johnzon.mapper.Mappings.getPrimitiveDefault;
 
 /**
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MissingFactoryException.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MissingFactoryException.java
index 0f1ccc8..30e1026 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MissingFactoryException.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MissingFactoryException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
 import java.lang.reflect.Constructor;
 import java.util.stream.Stream;
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ObjectConverter.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ObjectConverter.java
index 673585d..5709871 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ObjectConverter.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/ObjectConverter.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import java.lang.reflect.Type;
 
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SetterMappingException.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SetterMappingException.java
index e1bf059..17bdf11 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SetterMappingException.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SetterMappingException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 import java.lang.reflect.Type;
 
 public class SetterMappingException extends MapperException {
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SnippetFactory.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SnippetFactory.java
index a4d057a..25ac81c 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SnippetFactory.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/SnippetFactory.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.mapper;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 public interface SnippetFactory {
     String of(JsonValue value);
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/jsonp/RewindableJsonParser.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/jsonp/RewindableJsonParser.java
index 051e776..f0c2460 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/jsonp/RewindableJsonParser.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/jsonp/RewindableJsonParser.java
@@ -22,11 +22,11 @@
 import java.util.Map;
 import java.util.stream.Stream;
 
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
-import javax.json.stream.JsonLocation;
-import javax.json.stream.JsonParser;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
+import jakarta.json.stream.JsonLocation;
+import jakarta.json.stream.JsonParser;
 
 public class RewindableJsonParser implements JsonParser {
     private final JsonParser delegate;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/core/TestJsonGeneratorFactory.java b/johnzon-mapper/src/test/java/org/apache/johnzon/core/TestJsonGeneratorFactory.java
index 3380b82..622de5d 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/core/TestJsonGeneratorFactory.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/core/TestJsonGeneratorFactory.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.core;
 
-import javax.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGenerator;
 import java.io.Writer;
 import java.util.Collections;
 
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/DeserializationExceptionMessagesTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/DeserializationExceptionMessagesTest.java
index ac6fec9..33ff7dd 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/DeserializationExceptionMessagesTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/DeserializationExceptionMessagesTest.java
@@ -793,14 +793,14 @@
     public void arrayOfCharFromArrayOfObject() throws Exception {
         assertMessage("{ \"arrayOfChar\" : [{\"red\": 255, \"green\": 165, \"blue\":0},{\"red\": 0, \"green\": 45, \"blue\":127}] }",
                 "Widget property 'arrayOfChar' of type char[] cannot be mapped to json array value: [{\"red\":255,\"gree" +
-                        "n\":...\nCannot cast org.apache.johnzon.core.JsonObjectImpl to javax.json.JsonString");
+                        "n\":...\nCannot cast org.apache.johnzon.core.JsonObjectImpl to jakarta.json.JsonString");
     }
 
     @Test
     public void arrayOfCharFromArrayOfBoolean() throws Exception {
         assertMessage("{ \"arrayOfChar\" : [true,false,true,true,false] }",
                 "Widget property 'arrayOfChar' of type char[] cannot be mapped to json array value: [true,false,true," +
-                        "tru...\nCannot cast javax.json.JsonValue$2 to javax.json.JsonString");
+                        "tru...\nCannot cast jakarta.json.JsonValueImpl to jakarta.json.JsonString");
     }
 
     @Test
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JPATest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JPATest.java
index 3ad92b7..0bf59ca 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JPATest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JPATest.java
@@ -23,18 +23,18 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import javax.persistence.Entity;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Temporal;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Temporal;
 import java.io.StringReader;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
 
-import static javax.persistence.TemporalType.DATE;
+import static jakarta.persistence.TemporalType.DATE;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JsonpIntegrationTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JsonpIntegrationTest.java
index 46aeff1..c9c2f1e 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JsonpIntegrationTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JsonpIntegrationTest.java
@@ -20,12 +20,12 @@
 
 import org.junit.Test;
 
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
 import java.io.StringReader;
 import java.util.Comparator;
 
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperConfigTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperConfigTest.java
index d512b41..0314e86 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperConfigTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperConfigTest.java
@@ -26,7 +26,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import java.lang.reflect.Type;
 import java.nio.charset.StandardCharsets;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
index 58b0b2b..d117a87 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
@@ -54,10 +54,10 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
 
 public class MapperTest {
     private static final String BIG_OBJECT_STR = "{" + "\"name\":\"the string\"," + "\"intVal\":56," + "\"longnumber\":118,"
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
index 3ffb94e..e0ede0c 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
@@ -27,7 +27,7 @@
 import java.util.logging.LogRecord;
 import java.util.logging.Logger;
 
-import javax.json.Json;
+import jakarta.json.Json;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectConverterWithAnnotationTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectConverterWithAnnotationTest.java
index 9c79c7e..82ae461 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectConverterWithAnnotationTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectConverterWithAnnotationTest.java
@@ -23,7 +23,7 @@
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import java.beans.ConstructorProperties;
 import java.lang.reflect.Type;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectTypeTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectTypeTest.java
index 785cdbf..36c7616 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectTypeTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/ObjectTypeTest.java
@@ -24,7 +24,7 @@
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import javax.json.JsonValue;
+import jakarta.json.JsonValue;
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
index a289f2c..b59bcc2 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
@@ -20,7 +20,7 @@
 
 import org.junit.Test;
 
-import javax.json.Json;
+import jakarta.json.Json;
 import java.util.HashMap;
 
 import static org.junit.Assert.assertEquals;
diff --git a/johnzon-mapper/src/test/resources/JPATest.xml b/johnzon-mapper/src/test/resources/JPATest.xml
index 4650dc8..6fee123 100644
--- a/johnzon-mapper/src/test/resources/JPATest.xml
+++ b/johnzon-mapper/src/test/resources/JPATest.xml
@@ -25,9 +25,9 @@
     <class>org.apache.johnzon.mapper.JPATest$AnEntity</class>
     <exclude-unlisted-classes>true</exclude-unlisted-classes>
     <properties>
-      <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
-      <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:jpa;DB_CLOSE_DELAY=-1" />
-      <property name="javax.persistence.jdbc.user" value="sa" />
+      <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver" />
+      <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:jpa;DB_CLOSE_DELAY=-1" />
+      <property name="jakarta.persistence.jdbc.user" value="sa" />
       <property name="openjpa.RuntimeUnenhancedClasses" value="supported" />
       <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
     </properties>
diff --git a/johnzon-maven-plugin/pom.xml b/johnzon-maven-plugin/pom.xml
index 2473a1f..115e3da 100644
--- a/johnzon-maven-plugin/pom.xml
+++ b/johnzon-maven-plugin/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>johnzon-maven-plugin</artifactId>
@@ -37,15 +37,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-json_1.1_spec</artifactId>
-      <version>${geronimo-jsonp.version}</version>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
+      <version>${jakarta-jsonp-api.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
-      <version>${geronimo-jsonb.version}</version>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
+      <version>${jakarta-jsonb-api.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java
index 03c7ff7..61752f1 100644
--- a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java
+++ b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java
@@ -25,13 +25,13 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileReader;
@@ -271,7 +271,7 @@
 
         if (!jsonField.equals(field)) {
             if (useJsonb) {
-                imports.add("javax.json.bind.annotation.JsonbProperty");
+                imports.add("jakarta.json.bind.annotation.JsonbProperty");
                 writer.append(prefix).append("@JsonbProperty(\"").append(jsonField).append("\")");
             } else {
                 imports.add("org.apache.johnzon.mapper.JohnzonProperty");
diff --git a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/JsonSchemaToPojoMojo.java b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/JsonSchemaToPojoMojo.java
index 074f7f1..0592ab5 100644
--- a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/JsonSchemaToPojoMojo.java
+++ b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/JsonSchemaToPojoMojo.java
@@ -23,10 +23,10 @@
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
diff --git a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/PojoToJsonSchemaMojo.java b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/PojoToJsonSchemaMojo.java
index 38f3b99..05ca7f1 100644
--- a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/PojoToJsonSchemaMojo.java
+++ b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/PojoToJsonSchemaMojo.java
@@ -29,10 +29,10 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
-import javax.json.bind.config.PropertyOrderStrategy;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
+import jakarta.json.bind.config.PropertyOrderStrategy;
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
diff --git a/johnzon-maven-plugin/src/test/resources/SomeValue.record.java b/johnzon-maven-plugin/src/test/resources/SomeValue.record.java
index 7d59a64..7ae2c64 100644
--- a/johnzon-maven-plugin/src/test/resources/SomeValue.record.java
+++ b/johnzon-maven-plugin/src/test/resources/SomeValue.record.java
@@ -18,8 +18,8 @@
  */
 package org.test.apache.johnzon.mojo;
 
+import jakarta.json.bind.annotation.JsonbProperty;
 import java.util.List;
-import javax.json.bind.annotation.JsonbProperty;
 
 public record SomeValue(
     String benchmark,
diff --git a/johnzon-osgi/pom.xml b/johnzon-osgi/pom.xml
index d9cfc96..f384edf 100644
--- a/johnzon-osgi/pom.xml
+++ b/johnzon-osgi/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -87,23 +87,23 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-annotation_1.3_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.annotation</groupId>
+      <artifactId>jakarta.annotation-api</artifactId>
+      <version>2.1.0</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jcdi_2.0_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.enterprise</groupId>
+      <artifactId>jakarta.enterprise.cdi-api</artifactId>
+      <version>4.0.1</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
-      <version>1.1</version>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+      <version>3.1.0</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.johnzon</groupId>
@@ -125,7 +125,7 @@
         <configuration>
           <instructions>
             <Import-Package>
-                javax.enterprise.inject.spi.*;resolution:=optional,*
+                jakarta.enterprise.inject.spi.*;resolution:=optional,*
             </Import-Package>
           </instructions>
         </configuration>
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Activator.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Activator.java
index e3a3310..ff6f296 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Activator.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Activator.java
@@ -39,9 +39,9 @@
 import java.util.Map.Entry;
 import java.util.Optional;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.apache.aries.component.dsl.OSGi;
 import org.apache.aries.component.dsl.OSGiResult;
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Config.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Config.java
index dabb5e7..7fd2a5f 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Config.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/Config.java
@@ -19,7 +19,7 @@
 
 package org.apache.johnzon.osgi;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.osgi.service.metatype.annotations.AttributeDefinition;
 import org.osgi.service.metatype.annotations.ObjectClassDefinition;
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/CdiExtensionFactory.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/CdiExtensionFactory.java
index 667a8ab..c9c4f58 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/CdiExtensionFactory.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/CdiExtensionFactory.java
@@ -19,7 +19,7 @@
 
 package org.apache.johnzon.osgi.cdi;
 
-import javax.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.Extension;
 
 import org.apache.johnzon.jsonb.cdi.JohnzonCdiExtension;
 import org.osgi.framework.Bundle;
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/RegisterCdiExtension.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/RegisterCdiExtension.java
index 54ef918..970ee99 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/RegisterCdiExtension.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/RegisterCdiExtension.java
@@ -26,7 +26,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.apache.aries.component.dsl.OSGi;
 import org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider;
@@ -41,7 +41,7 @@
     public static OSGi<?> ifPossible() {
         if (tryLoadingCdi()) {
             return register(
-                javax.enterprise.inject.spi.Extension.class,
+                jakarta.enterprise.inject.spi.Extension.class,
                 new org.apache.johnzon.osgi.cdi.CdiExtensionFactory(),
                 getCdiExtensionProperties()
             );
@@ -52,7 +52,7 @@
 
     private static boolean tryLoadingCdi() {
         try {
-            Class.forName("javax.enterprise.inject.spi.Extension");
+            Class.forName("jakarta.enterprise.inject.spi.Extension");
             return true;
         } catch (ClassNotFoundException cfne) {
             return false;
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/package-info.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/package-info.java
index e57ab0b..0a0729c 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/package-info.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/cdi/package-info.java
@@ -20,7 +20,7 @@
 @Capability(namespace = SERVICE_NAMESPACE,
     attribute = {
         CDI_EXTENSION_PROPERTY + "=JavaJSONB",
-        "objectClass:List<String>='javax.enterprise.inject.spi.Extension'"})
+        "objectClass:List<String>='jakarta.enterprise.inject.spi.Extension'"})
 @Capability(namespace = CDI_EXTENSION_PROPERTY,
     attribute = CDI_EXTENSION_PROPERTY + "=JavaJSONB")
 @Requirement(
diff --git a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/package-info.java b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/package-info.java
index 198ac72..04cb3e2 100644
--- a/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/package-info.java
+++ b/johnzon-osgi/src/main/java/org/apache/johnzon/osgi/package-info.java
@@ -20,10 +20,10 @@
 @Capability(namespace = SERVICE_NAMESPACE,
     attribute = {
         JAX_RS_MEDIA_TYPE + "=" + APPLICATION_JSON,
-        "objectClass:List<String>='javax.ws.rs.ext.MessageBodyReader,javax.ws.rs.ext.MessageBodyWriter'"})
+        "objectClass:List<String>='jakarta.ws.rs.ext.MessageBodyReader,jakarta.ws.rs.ext.MessageBodyWriter'"})
 package org.apache.johnzon.osgi;
 
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON;
 import static org.osgi.namespace.service.ServiceNamespace.SERVICE_NAMESPACE;
 import static org.osgi.service.jaxrs.whiteboard.JaxrsWhiteboardConstants.JAX_RS_MEDIA_TYPE;
 
diff --git a/johnzon-websocket/pom.xml b/johnzon-websocket/pom.xml
index f6d030a..d8adbf6 100644
--- a/johnzon-websocket/pom.xml
+++ b/johnzon-websocket/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>johnzon</artifactId>
     <groupId>org.apache.johnzon</groupId>
-    <version>1.2.20-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -29,8 +29,8 @@
   <name>Johnzon :: WebSocket</name>
 
   <properties>
-    <tomcat.version>8.5.9</tomcat.version>
-    <tomee.version>8.0.1</tomee.version>
+    <tomcat.version>10.1.4</tomcat.version>
+    <tomee.version>9.0.0</tomee.version>
     <staging.directory>${project.parent.reporting.outputDirectory}</staging.directory>
   </properties>
 
@@ -49,8 +49,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsonb_1.0_spec</artifactId>
+      <groupId>jakarta.json.bind</groupId>
+      <artifactId>jakarta.json.bind-api</artifactId>
       <scope>provided</scope>
     </dependency>
 
@@ -69,6 +69,19 @@
     </dependency>
 
     <dependency>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+      <version>3.1.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
+      <version>4.0.0</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
       <groupId>org.jboss.arquillian.junit</groupId>
       <artifactId>arquillian-junit-container</artifactId>
       <version>1.1.11.Final</version>
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/TypeAwareDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/TypeAwareDecoder.java
index 0e92215..33d6ae4 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/TypeAwareDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/TypeAwareDecoder.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.websocket.internal;
 
-import javax.websocket.EndpointConfig;
-import javax.websocket.OnMessage;
-import javax.websocket.Session;
-import javax.websocket.server.PathParam;
-import javax.websocket.server.ServerEndpointConfig;
+import jakarta.websocket.EndpointConfig;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.PathParam;
+import jakarta.websocket.server.ServerEndpointConfig;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/FactoryLocator.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/FactoryLocator.java
index 48463d9..6388270 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/FactoryLocator.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/FactoryLocator.java
@@ -21,12 +21,12 @@
 import java.util.Collections;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import javax.json.Json;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonWriterFactory;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.json.Json;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonWriterFactory;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class FactoryLocator implements ServletContextListener {
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrDecoder.java
index 2edb3c9..2f9ef63 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrDecoder.java
@@ -20,11 +20,11 @@
 
 import java.io.IOException;
 import java.io.Reader;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.websocket.DecodeException;
-import javax.websocket.Decoder;
-import javax.websocket.EndpointConfig;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.websocket.DecodeException;
+import jakarta.websocket.Decoder;
+import jakarta.websocket.EndpointConfig;
 
 public abstract class JsrDecoder<T> implements Decoder.TextStream<T> {
     private JsonReaderFactory factory;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrEncoder.java
index 917482b..e25cfe3 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/jsr/JsrEncoder.java
@@ -20,11 +20,11 @@
 
 import java.io.IOException;
 import java.io.Writer;
-import javax.json.JsonWriter;
-import javax.json.JsonWriterFactory;
-import javax.websocket.EncodeException;
-import javax.websocket.Encoder;
-import javax.websocket.EndpointConfig;
+import jakarta.json.JsonWriter;
+import jakarta.json.JsonWriterFactory;
+import jakarta.websocket.EncodeException;
+import jakarta.websocket.Encoder;
+import jakarta.websocket.EndpointConfig;
 
 public abstract class JsrEncoder<T> implements Encoder.TextStream<T> {
     private JsonWriterFactory factory;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocator.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocator.java
index 6596437..5f9bec5 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocator.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocator.java
@@ -20,7 +20,7 @@
 
 import org.apache.johnzon.websocket.internal.servlet.IgnoreIfMissing;
 
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener // since people move to json-b we make this init lazy
 public class MapperLocator extends IgnoreIfMissing {
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocatorDelegate.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocatorDelegate.java
index 48fc30d..9fdef3b 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocatorDelegate.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/mapper/MapperLocatorDelegate.java
@@ -22,9 +22,9 @@
 import org.apache.johnzon.mapper.MapperBuilder;
 import org.apache.johnzon.websocket.internal.lazy.LazySupplier;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Supplier;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/servlet/IgnoreIfMissing.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/servlet/IgnoreIfMissing.java
index f91344e..6f54e90 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/servlet/IgnoreIfMissing.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/internal/servlet/IgnoreIfMissing.java
@@ -18,8 +18,8 @@
  */
 package org.apache.johnzon.websocket.internal.servlet;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 import java.util.function.Supplier;
 
 public class IgnoreIfMissing implements ServletContextListener {
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocator.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocator.java
index d84490d..6e566e6 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocator.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocator.java
@@ -20,7 +20,7 @@
 
 import org.apache.johnzon.websocket.internal.servlet.IgnoreIfMissing;
 
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class JsonbLocator extends IgnoreIfMissing {
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocatorDelegate.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocatorDelegate.java
index 3e1032a..dcf1064 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocatorDelegate.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbLocatorDelegate.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.websocket.jsonb;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextDecoder.java
index c010e89..a22965a 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextDecoder.java
@@ -20,11 +20,11 @@
 
 import org.apache.johnzon.websocket.internal.TypeAwareDecoder;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbException;
-import javax.websocket.DecodeException;
-import javax.websocket.Decoder;
-import javax.websocket.EndpointConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbException;
+import jakarta.websocket.DecodeException;
+import jakarta.websocket.Decoder;
+import jakarta.websocket.EndpointConfig;
 import java.io.Reader;
 import java.lang.reflect.Type;
 
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextEncoder.java
index bf1873c..ac7fc33 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsonb/JsonbTextEncoder.java
@@ -18,11 +18,11 @@
  */
 package org.apache.johnzon.websocket.jsonb;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbException;
-import javax.websocket.EncodeException;
-import javax.websocket.Encoder;
-import javax.websocket.EndpointConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbException;
+import jakarta.websocket.EncodeException;
+import jakarta.websocket.Encoder;
+import jakarta.websocket.EndpointConfig;
 import java.io.Writer;
 
 public class JsonbTextEncoder implements Encoder.TextStream<Object> {
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayDecoder.java
index 284b036..b8345ce 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayDecoder.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrDecoder;
 
-import javax.json.JsonArray;
-import javax.json.JsonReader;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonReader;
 
 public class JsrArrayDecoder extends JsrDecoder<JsonArray> {
     @Override
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayEncoder.java
index 9eb02f8..edc04fe 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrArrayEncoder.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrEncoder;
 
-import javax.json.JsonArray;
-import javax.json.JsonWriter;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonWriter;
 
 public class JsrArrayEncoder extends JsrEncoder<JsonArray> {
     @Override
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectDecoder.java
index c63bfaa..fe81365 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectDecoder.java
@@ -20,9 +20,9 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrDecoder;
 
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
 
 public class JsrObjectDecoder extends JsrDecoder<JsonObject> {
     private JsonReaderFactory factory;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectEncoder.java
index b5cd180..ca3c16d 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrObjectEncoder.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrEncoder;
 
-import javax.json.JsonObject;
-import javax.json.JsonWriter;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonWriter;
 
 public class JsrObjectEncoder extends JsrEncoder<JsonObject> {
     @Override
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureDecoder.java
index f4ad438..6040114 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureDecoder.java
@@ -20,9 +20,9 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrDecoder;
 
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonStructure;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonStructure;
 
 public class JsrStructureDecoder extends JsrDecoder<JsonStructure> {
     private JsonReaderFactory factory;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureEncoder.java
index 69169f3..e27746b 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/jsr/JsrStructureEncoder.java
@@ -20,8 +20,8 @@
 
 import org.apache.johnzon.websocket.internal.jsr.JsrEncoder;
 
-import javax.json.JsonStructure;
-import javax.json.JsonWriter;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonWriter;
 
 public class JsrStructureEncoder extends JsrEncoder<JsonStructure> {
     @Override
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextDecoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextDecoder.java
index 60c27fa..0575cfb 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextDecoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextDecoder.java
@@ -21,13 +21,13 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.websocket.internal.mapper.MapperLocator;
 
-import javax.websocket.DecodeException;
-import javax.websocket.Decoder;
-import javax.websocket.EndpointConfig;
-import javax.websocket.OnMessage;
-import javax.websocket.Session;
-import javax.websocket.server.PathParam;
-import javax.websocket.server.ServerEndpointConfig;
+import jakarta.websocket.DecodeException;
+import jakarta.websocket.Decoder;
+import jakarta.websocket.EndpointConfig;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.PathParam;
+import jakarta.websocket.server.ServerEndpointConfig;
 import java.io.Reader;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
diff --git a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextEncoder.java b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextEncoder.java
index 015daa9..a041ed1 100644
--- a/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextEncoder.java
+++ b/johnzon-websocket/src/main/java/org/apache/johnzon/websocket/mapper/JohnzonTextEncoder.java
@@ -21,9 +21,9 @@
 import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.websocket.internal.mapper.MapperLocator;
 
-import javax.websocket.EncodeException;
-import javax.websocket.Encoder;
-import javax.websocket.EndpointConfig;
+import jakarta.websocket.EncodeException;
+import jakarta.websocket.Encoder;
+import jakarta.websocket.EndpointConfig;
 import java.io.IOException;
 import java.io.Writer;
 
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
index 11d7790..ee5f786 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.johnzon.websocket;
 
-import org.apache.johnzon.core.JsonProviderImpl;
 import org.apache.johnzon.websocket.endpoint.JsrClientEndpointImpl;
 import org.apache.johnzon.websocket.endpoint.JsrServerEndpointImpl;
 import org.apache.johnzon.websocket.endpoint.Message;
@@ -39,14 +38,13 @@
 
 import java.net.URI;
 import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.websocket.CloseReason;
-import javax.websocket.ContainerProvider;
-import javax.websocket.Session;
-import javax.websocket.WebSocketContainer;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.websocket.CloseReason;
+import jakarta.websocket.ContainerProvider;
+import jakarta.websocket.Session;
+import jakarta.websocket.WebSocketContainer;
 
-import static org.apache.openejb.loader.JarLocation.jarLocation;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
@@ -59,8 +57,8 @@
                 .addAsLibraries(
                         ShrinkWrap.create(JavaArchive.class, "johnzon-websocket.jar")
                                 .addClasses(FactoryLocator.class, JsrDecoder.class, JsrEncoder.class, JsrObjectDecoder.class, JsrObjectEncoder.class)
-                                .addPackages(true, JsonProviderImpl.class.getPackage()))
-                .addAsLibrary(jarLocation(Json.class));
+                                )
+                ;
     }
 
     @ArquillianResource
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
index 2dcc209..fb97cc7 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
@@ -18,8 +18,6 @@
  */
 package org.apache.johnzon.websocket;
 
-import org.apache.johnzon.core.JsonProviderImpl;
-import org.apache.johnzon.mapper.Mapper;
 import org.apache.johnzon.mapper.MapperBuilder;
 import org.apache.johnzon.websocket.endpoint.ClientEndpointImpl;
 import org.apache.johnzon.websocket.endpoint.Message;
@@ -42,13 +40,11 @@
 
 import java.net.URI;
 import java.net.URL;
-import javax.json.Json;
-import javax.websocket.CloseReason;
-import javax.websocket.ContainerProvider;
-import javax.websocket.Session;
-import javax.websocket.WebSocketContainer;
+import jakarta.websocket.CloseReason;
+import jakarta.websocket.ContainerProvider;
+import jakarta.websocket.Session;
+import jakarta.websocket.WebSocketContainer;
 
-import static org.apache.openejb.loader.JarLocation.jarLocation;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
@@ -56,14 +52,18 @@
 public class MapperCodecTest {
     @Deployment(testable = false)
     public static WebArchive war() {
-        return ShrinkWrap.create(WebArchive.class, "codec.war")
-                .addClasses(ServerEndpointImpl.class, ServerReport.class, Message.class)
-                .addAsLibrary(
-                        ShrinkWrap.create(JavaArchive.class, "johnzon-websocket.jar")
-                            .addClasses(MapperLocator.class, MapperLocatorDelegate.class, IgnoreIfMissing.class, JohnzonTextDecoder.class, JohnzonTextEncoder.class)
-                            .addPackages(true, JsonProviderImpl.class.getPackage())
-                            .addPackages(true, Mapper.class.getPackage()))
-                .addAsLibrary(jarLocation(Json.class));
+        final WebArchive war = ShrinkWrap.create(WebArchive.class, "codec.war")
+                                                .addClasses(ServerEndpointImpl.class, ServerReport.class, Message.class)
+                                                .addAsLibrary(
+                                                    ShrinkWrap.create(JavaArchive.class, "johnzon-websocket.jar")
+                                                              .addClasses(MapperLocator.class,
+                                                                          MapperLocatorDelegate.class,
+                                                                          IgnoreIfMissing.class,
+                                                                          JohnzonTextDecoder.class,
+                                                                          JohnzonTextEncoder.class));
+
+        System.out.println(war.toString(true));
+        return war;
     }
 
     @ArquillianResource
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ClientEndpointImpl.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ClientEndpointImpl.java
index 82260fa..91a5874 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ClientEndpointImpl.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ClientEndpointImpl.java
@@ -24,8 +24,8 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
-import javax.websocket.ClientEndpoint;
-import javax.websocket.OnMessage;
+import jakarta.websocket.ClientEndpoint;
+import jakarta.websocket.OnMessage;
 
 @ClientEndpoint(encoders = JohnzonTextEncoder.class, decoders = ClientEndpointImpl.MessageDecoder.class)
 public class ClientEndpointImpl {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrClientEndpointImpl.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrClientEndpointImpl.java
index 644585e..e17126d 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrClientEndpointImpl.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrClientEndpointImpl.java
@@ -24,9 +24,9 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
-import javax.json.JsonObject;
-import javax.websocket.ClientEndpoint;
-import javax.websocket.OnMessage;
+import jakarta.json.JsonObject;
+import jakarta.websocket.ClientEndpoint;
+import jakarta.websocket.OnMessage;
 
 @ClientEndpoint(encoders = JsrObjectEncoder.class, decoders = JsrObjectDecoder.class)
 public class JsrClientEndpointImpl {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrServerEndpointImpl.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrServerEndpointImpl.java
index a442259..5839e05 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrServerEndpointImpl.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/JsrServerEndpointImpl.java
@@ -26,13 +26,13 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.websocket.EncodeException;
-import javax.websocket.OnMessage;
-import javax.websocket.Session;
-import javax.websocket.server.ServerEndpoint;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.websocket.EncodeException;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.ServerEndpoint;
 
 @ServerEndpoint(value = "/jsrserver", encoders = JsrObjectEncoder.class, decoders = JsrObjectDecoder.class)
 public class JsrServerEndpointImpl {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/Message.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/Message.java
index 99f2d24..013e84f 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/Message.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/Message.java
@@ -18,7 +18,7 @@
  */
 package org.apache.johnzon.websocket.endpoint;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement // old tomee default json provider (pre-johnzon erea) was using jaxb
 public class Message {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerEndpointImpl.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerEndpointImpl.java
index ae42c88..5a434e9 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerEndpointImpl.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerEndpointImpl.java
@@ -25,10 +25,10 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
-import javax.websocket.EncodeException;
-import javax.websocket.OnMessage;
-import javax.websocket.Session;
-import javax.websocket.server.ServerEndpoint;
+import jakarta.websocket.EncodeException;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.ServerEndpoint;
 
 @ServerEndpoint(value = "/server", encoders = JohnzonTextEncoder.class, decoders = JohnzonTextDecoder.class)
 public class ServerEndpointImpl {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerReport.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerReport.java
index 3fc211b..7e053be 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerReport.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/endpoint/ServerReport.java
@@ -22,12 +22,12 @@
 
 import java.io.StringWriter;
 import java.util.concurrent.TimeUnit;
-import javax.json.Json;
-import javax.json.JsonWriter;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.json.Json;
+import jakarta.json.JsonWriter;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 @Path("report")
 @Produces(MediaType.APPLICATION_JSON)
diff --git a/pom.xml b/pom.xml
index 1a43bed..9ef2aa9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   <groupId>org.apache.johnzon</groupId>
   <artifactId>johnzon</artifactId>
   <packaging>pom</packaging>
-  <version>1.2.20-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>Apache Johnzon</name>
   <description>Apache Johnzon is an implementation of JSR-353 (JavaTM API for JSON Processing).</description>
   <inceptionYear>2014</inceptionYear>
@@ -39,22 +39,20 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <project.build.outputTimestamp>10</project.build.outputTimestamp>
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
 
-    <geronimo-jsonp.version>1.5</geronimo-jsonp.version>
-    <geronimo-jsonb.version>1.4</geronimo-jsonb.version>
+    <jakarta-jsonp-api.version>2.1.1</jakarta-jsonp-api.version>
+    <jakarta-jsonb-api.version>3.0.0</jakarta-jsonb-api.version>
     <johnzon.site.url>https://svn.apache.org/repos/asf/johnzon/site/publish/</johnzon.site.url>
     <pubsub.url>scm:svn:${johnzon.site.url}</pubsub.url>
     <staging.directory>${project.build.directory}/site</staging.directory>
     <felix.plugin.version>5.1.8</felix.plugin.version>
     <bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy>
     <bnd.version>6.1.0</bnd.version>
-    <cxf.version>3.4.1</cxf.version>
+    <cxf.version>4.0.0</cxf.version>
     <checkstyle.version>3.0.0</checkstyle.version> <!-- Increasing checkstyle to 3.1 or above will require changes to the checkstyleRules -->
     <!-- JVM values for surefire plugin -->
     <surefire.jvm.params>-Xms1024m -Xmx2048m -Dfile.encoding=UTF-8</surefire.jvm.params>
-    <owb.version>2.0.23</owb.version>
+    <owb.version>2.0.27</owb.version>
     <arquillian.jvm.args />
   </properties>
 
@@ -76,15 +74,15 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-jsonb_1.0_spec</artifactId>
-        <version>${geronimo-jsonb.version}</version>
+        <groupId>jakarta.json</groupId>
+        <artifactId>jakarta.json-api</artifactId>
+        <version>${jakarta-jsonp-api.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-json_1.1_spec</artifactId>
-        <version>${geronimo-jsonp.version}</version>
+        <groupId>jakarta.json.bind</groupId>
+        <artifactId>jakarta.json.bind-api</artifactId>
+        <version>${jakarta-jsonb-api.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
@@ -98,8 +96,8 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-json_1.1_spec</artifactId>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
       <scope>provided</scope>
     </dependency>
 
@@ -155,70 +153,6 @@
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-shade-plugin</artifactId>
-          <version>3.4.1</version>
-          <executions>
-            <execution>
-              <id>jakarta</id>
-              <phase>package</phase>
-              <goals>
-                <goal>shade</goal>
-              </goals>
-              <configuration>
-                <minimizeJar>false</minimizeJar>
-                <shadedArtifactAttached>true</shadedArtifactAttached>
-                <shadedClassifierName>jakarta</shadedClassifierName>
-                <createDependencyReducedPom>false</createDependencyReducedPom>
-                <transformers>
-                  <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
-                </transformers>
-                <artifactSet>
-                  <includes>
-                    <include>${project.groupId}:${project.artifactId}</include>
-                  </includes>
-                </artifactSet>
-                <relocations>
-                  <relocation>
-                    <pattern>javax.annotation</pattern>
-                    <shadedPattern>jakarta.annotation</shadedPattern>
-                    <excludes>
-                      <exclude>javax.annotation.processing.**</exclude>
-                    </excludes>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.enterprise</pattern>
-                    <shadedPattern>jakarta.enterprise</shadedPattern>
-                    <excludes>
-                      <exclude>javax.enterprise.deploy.**</exclude>
-                    </excludes>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.inject</pattern>
-                    <shadedPattern>jakarta.inject</shadedPattern>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.json</pattern>
-                    <shadedPattern>jakarta.json</shadedPattern>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.servlet</pattern>
-                    <shadedPattern>jakarta.servlet</shadedPattern>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.websocket</pattern>
-                    <shadedPattern>jakarta.websocket</shadedPattern>
-                  </relocation>
-                  <relocation>
-                    <pattern>javax.ws.rs</pattern>
-                    <shadedPattern>jakarta.ws.rs</shadedPattern>
-                  </relocation>
-                </relocations>
-              </configuration>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-checkstyle-plugin</artifactId>
           <version>${checkstyle.version}</version>
         </plugin>
@@ -241,7 +175,7 @@
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>versions-maven-plugin</artifactId>
-          <version>2.13.0</version>
+          <version>2.14.2</version>
         </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
@@ -272,8 +206,7 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
-          <source>${maven.compiler.source}</source>
-          <target>${maven.compiler.target}</target>
+          <release>11</release>
           <encoding>${project.build.sourceEncoding}</encoding>
           <showDeprecation>true</showDeprecation>
           <showWarnings>true</showWarnings>
@@ -403,7 +336,7 @@
                   <property name="format" value="^_?[A-Z][a-zA-Z0-9]*$" />
                 </module>
                 <module name="AvoidStarImport">
-                  <property name="excludes" value="java.io,java.net,java.util,javax.enterprise.inject.spi,javax.enterprise.context" />
+                  <property name="excludes" value="java.io,java.net,java.util,jakarta.enterprise.inject.spi,jakarta.enterprise.context" />
                 </module>
                 <module name="IllegalImport" />
                 <module name="RedundantImport" />
@@ -487,7 +420,7 @@
               <detectLinks>false</detectLinks>
               <detectOfflineLinks>false</detectOfflineLinks>
               <doclint>all,-missing</doclint>
-              <source>${maven.compiler.source}</source>
+              <release>11</release>
             </configuration>
           </execution>
         </executions>
@@ -558,7 +491,7 @@
                   <version>[3.3,)</version>
                 </requireMavenVersion>
                 <requireJavaVersion>
-                  <version>[${maven.compiler.target},)</version>
+                  <version>[11,)</version>
                 </requireJavaVersion>
               </rules>
             </configuration>
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
index 3f7a4a0..edf4d31 100644
--- a/src/site/markdown/index.md
+++ b/src/site/markdown/index.md
@@ -358,7 +358,7 @@
 
 A JAX-RS provider based on JSON-B is provided in the module as well. It is `org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider`.
 
-IMPORTANT: in JAX-RS 1.0 the provider can throw any exception he wants for an empty incoming stream on reader side. This had been broken in JAX-RS 2.x where it must throw a `javax.ws.rs.core.NoContentException`.
+IMPORTANT: in JAX-RS 1.0 the provider can throw any exception he wants for an empty incoming stream on reader side. This had been broken in JAX-RS 2.x where it must throw a `jakarta.ws.rs.core.NoContentException`.
 To ensure you can pick the implementation you can and limit the breaking changes, you can set ̀throwNoContentExceptionOnEmptyStreams` on the provider to switch between both behaviors.
 Default will be picked from the current available API. Finally, this behavior only works with `johnzon-core`.
 
@@ -659,7 +659,7 @@
 
 ##### CDI
 
-Since JSON-B specification provides an integration with the CDI specification to handle caching, this module also provides such integration for OSGi CDI Integration specification by providing an `javax.enterprise.inject.spi.Extension` service with the required service property `osgi.cdi.extension` with the value `JavaJSONB`.
+Since JSON-B specification provides an integration with the CDI specification to handle caching, this module also provides such integration for OSGi CDI Integration specification by providing an `jakarta.enterprise.inject.spi.Extension` service with the required service property `osgi.cdi.extension` with the value `JavaJSONB`.
 
 ##### Implicit Extensions