You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by jl...@apache.org on 2023/01/10 23:53:34 UTC

[johnzon] 01/01: First javax to jakarta migration in code and dependencies

This is an automated email from the ASF dual-hosted git repository.

jlmonteiro pushed a commit to branch javax-to-jakarta
in repository https://gitbox.apache.org/repos/asf/johnzon.git

commit 7338430e8ef6221e5e2102b4bbd1e59d78479dce
Author: Jean-Louis Monteiro <jl...@tomitribe.com>
AuthorDate: Wed Jan 11 00:53:09 2023 +0100

    First javax to jakarta migration in code and dependencies
    
    Signed-off-by: Jean-Louis Monteiro <jl...@tomitribe.com>
---
 johnzon-core/pom.xml                               |   4 +-
 .../johnzon/core/DefaultJsonPointerFactory.java    |   4 +-
 .../java/org/apache/johnzon/core/DiffBase.java     |   6 +-
 .../org/apache/johnzon/core/JohnzonJsonParser.java |  10 +-
 .../apache/johnzon/core/JohnzonJsonParserImpl.java |   6 +-
 .../apache/johnzon/core/JsonArrayBuilderImpl.java  |  10 +-
 .../org/apache/johnzon/core/JsonArrayImpl.java     |  12 +--
 .../johnzon/core/JsonBuilderFactoryImpl.java       |  10 +-
 .../java/org/apache/johnzon/core/JsonChars.java    |   2 +-
 .../org/apache/johnzon/core/JsonDoubleImpl.java    |   2 +-
 .../johnzon/core/JsonGeneratorFactoryImpl.java     |   4 +-
 .../org/apache/johnzon/core/JsonGeneratorImpl.java |  16 ++--
 .../apache/johnzon/core/JsonInMemoryParser.java    |  14 +--
 .../org/apache/johnzon/core/JsonLocationImpl.java  |   2 +-
 .../java/org/apache/johnzon/core/JsonLongImpl.java |   2 +-
 .../apache/johnzon/core/JsonMergePatchDiff.java    |   8 +-
 .../apache/johnzon/core/JsonMergePatchImpl.java    |   8 +-
 .../org/apache/johnzon/core/JsonNumberImpl.java    |   2 +-
 .../apache/johnzon/core/JsonObjectBuilderImpl.java |  10 +-
 .../org/apache/johnzon/core/JsonObjectImpl.java    |  12 +--
 .../apache/johnzon/core/JsonParserFactoryImpl.java |   8 +-
 .../apache/johnzon/core/JsonPatchBuilderImpl.java  |  12 +--
 .../org/apache/johnzon/core/JsonPatchDiff.java     |  14 +--
 .../org/apache/johnzon/core/JsonPatchImpl.java     |  20 ++--
 .../org/apache/johnzon/core/JsonPointerImpl.java   |  18 ++--
 .../org/apache/johnzon/core/JsonProviderImpl.java  |  48 +++++-----
 .../apache/johnzon/core/JsonReaderFactoryImpl.java |   6 +-
 .../org/apache/johnzon/core/JsonReaderImpl.java    |  20 ++--
 .../apache/johnzon/core/JsonStreamParserImpl.java  |   6 +-
 .../org/apache/johnzon/core/JsonStringImpl.java    |   2 +-
 .../apache/johnzon/core/JsonWriterFactoryImpl.java |   6 +-
 .../org/apache/johnzon/core/JsonWriterImpl.java    |  12 +--
 .../core/RFC4627AwareInputStreamReader.java        |   2 +-
 .../johnzon/core/RejectDuplicateKeysMode.java      |   4 +-
 .../org/apache/johnzon/core/SerializableValue.java |   6 +-
 .../main/java/org/apache/johnzon/core/Snippet.java |  12 +--
 .../main/java/org/apache/johnzon/core/Strings.java |   2 +-
 .../johnzon/core/io/BoundedOutputStreamWriter.java |   2 +-
 .../johnzon/core/spi/JsonPointerFactory.java       |   4 +-
 ....JsonProvider => jakarta.json.spi.JsonProvider} |   0
 .../org/apache/johnzon/core/BrokenDefaultTest.java |   6 +-
 .../johnzon/core/BufferStrategyFactoryTest.java    |   4 +-
 .../johnzon/core/JsonArrayBuilderImplTest.java     |  10 +-
 .../org/apache/johnzon/core/JsonArrayImplTest.java |   6 +-
 .../johnzon/core/JsonBuilderFactoryTest.java       |   6 +-
 .../org/apache/johnzon/core/JsonCollectorTest.java |  12 +--
 .../johnzon/core/JsonGeneratorFactoryImplTest.java |   2 +-
 .../apache/johnzon/core/JsonGeneratorImplTest.java |  14 +--
 .../johnzon/core/JsonMergeBatchDiffTest.java       |   6 +-
 .../apache/johnzon/core/JsonMergeBatchTest.java    |  12 +--
 .../org/apache/johnzon/core/JsonNumberTest.java    |   6 +-
 .../johnzon/core/JsonObjectBuilderImplTest.java    |  10 +-
 .../apache/johnzon/core/JsonObjectImplTest.java    |  10 +-
 .../johnzon/core/JsonParserStreamingTest.java      |  10 +-
 .../org/apache/johnzon/core/JsonParserTest.java    |  22 ++---
 .../apache/johnzon/core/JsonPatchBuilderTest.java  |  14 +--
 .../org/apache/johnzon/core/JsonPatchDiffTest.java |  16 ++--
 .../org/apache/johnzon/core/JsonPatchTest.java     |  18 ++--
 .../org/apache/johnzon/core/JsonPointerTest.java   |  20 ++--
 .../org/apache/johnzon/core/JsonProviderTest.java  |   6 +-
 .../apache/johnzon/core/JsonReaderImplTest.java    |  22 ++---
 .../johnzon/core/JsonStreamParserImplTest.java     |   2 +-
 .../apache/johnzon/core/JsonWriterImplTest.java    |  10 +-
 .../java/org/apache/johnzon/core/LocationTest.java |  10 +-
 .../java/org/apache/johnzon/core/OverflowTest.java |  12 +--
 .../org/apache/johnzon/core/SerializationTest.java |  10 +-
 .../java/org/apache/johnzon/core/SnippetTest.java  |  12 +--
 johnzon-distribution/pom.xml                       |  20 ++--
 johnzon-distribution/src/assembly/bin.xml          |   2 +-
 johnzon-jaxrs/pom.xml                              |   8 +-
 .../johnzon/jaxrs/ConfigurableJohnzonProvider.java |  16 ++--
 .../org/apache/johnzon/jaxrs/DelegateProvider.java |   8 +-
 .../johnzon/jaxrs/JohnzonMessageBodyReader.java    |  12 +--
 .../johnzon/jaxrs/JohnzonMessageBodyWriter.java    |  14 +--
 .../org/apache/johnzon/jaxrs/JohnzonProvider.java  |   6 +-
 .../apache/johnzon/jaxrs/JsrMessageBodyReader.java |  18 ++--
 .../apache/johnzon/jaxrs/JsrMessageBodyWriter.java |  18 ++--
 .../java/org/apache/johnzon/jaxrs/JsrProvider.java |  12 +--
 .../jaxrs/NoContentExceptionHandlerReader.java     |  10 +-
 .../jaxrs/WadlDocumentMessageBodyWriter.java       |  10 +-
 .../jaxrs/WildcardConfigurableJohnzonProvider.java |  16 ++--
 .../johnzon/jaxrs/WildcardJohnzonProvider.java     |   6 +-
 .../apache/johnzon/jaxrs/WildcardJsrProvider.java  |   6 +-
 .../johnzon/jaxrs/xml/WadlDocumentToJson.java      |   8 +-
 .../jaxrs/ConfigurableJohnzonProviderTest.java     |  10 +-
 .../apache/johnzon/jaxrs/JohnzonProviderTest.java  |  24 ++---
 .../org/apache/johnzon/jaxrs/JsrProviderTest.java  |  16 ++--
 johnzon-json-extras/pom.xml                        |   6 +-
 .../jsonb/extras/polymorphism/Polymorphic.java     |  14 +--
 .../jsonb/extras/polymorphism/PolymorphicTest.java |  12 +--
 johnzon-jsonb/pom.xml                              |  66 +++++++++----
 .../jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java      |  36 +++----
 .../jsonb/DefaultPropertyVisibilityStrategy.java   |   8 +-
 .../org/apache/johnzon/jsonb/JohnzonBuilder.java   |  30 +++---
 .../org/apache/johnzon/jsonb/JohnzonJsonb.java     |  18 ++--
 .../org/apache/johnzon/jsonb/JohnzonProvider.java  |   4 +-
 .../johnzon/jsonb/JsonValueParserAdapter.java      |  12 +--
 .../org/apache/johnzon/jsonb/JsonbAccessMode.java  |  44 ++++-----
 .../jsonb/PropertyNamingStrategyFactory.java       |   2 +-
 .../johnzon/jsonb/adapter/JsonbEnumAdapter.java    |   2 +-
 .../jsonb/api/experimental/JsonbExtension.java     |   6 +-
 .../java/org/apache/johnzon/jsonb/cdi/CDIs.java    |   2 +-
 .../johnzon/jsonb/cdi/JohnzonCdiExtension.java     |   8 +-
 .../jsonb/converter/JohnzonJsonbAdapter.java       |   4 +-
 .../jsonb/converter/JsonbDateConverter.java        |   2 +-
 .../jsonb/converter/JsonbDateConverterBase.java    |   2 +-
 .../jsonb/converter/JsonbLocalDateConverter.java   |   2 +-
 .../converter/JsonbLocalDateTimeConverter.java     |   2 +-
 .../jsonb/converter/JsonbNumberConverter.java      |   2 +-
 .../converter/JsonbOffsetDateTimeConverter.java    |   2 +-
 .../converter/JsonbZonedDateTimeConverter.java     |   2 +-
 .../johnzon/jsonb/extension/JsonValueReader.java   |   2 +-
 .../johnzon/jsonb/extension/JsonValueWriter.java   |  10 +-
 .../jsonb/factory/CdiJohnzonAdapterFactory.java    |   6 +-
 .../serializer/JohnzonDeserializationContext.java  |  16 ++--
 .../serializer/JohnzonSerializationContext.java    |   4 +-
 ...ion => jakarta.enterprise.inject.spi.Extension} |   0
 ...rovider => jakarta.json.bind.spi.JsonbProvider} |   0
 .../apache/johnzon/RecursivePolymorphismTest.java  |  28 +++---
 .../jaxrs/jsonb/jaxrs/JsonbJaxrsProviderTest.java  |  12 +--
 .../java/org/apache/johnzon/jsonb/AdapterTest.java |  16 ++--
 .../apache/johnzon/jsonb/AnnotationOrderTest.java  |   8 +-
 .../org/apache/johnzon/jsonb/CdiAdapterTest.java   |  14 +--
 .../apache/johnzon/jsonb/ClassConverterTest.java   |  24 ++---
 .../johnzon/jsonb/ConstructorVisibilityTest.java   |  12 +--
 .../johnzon/jsonb/CustomParameterizedTypeTest.java |   2 +-
 .../org/apache/johnzon/jsonb/DateFormatTest.java   |   8 +-
 .../apache/johnzon/jsonb/DefaultMappingTest.java   |  18 ++--
 .../DefaultPropertyVisibilityStrategyTest.java     |  10 +-
 .../DeserializationExceptionMessagesTest.java      |   6 +-
 .../johnzon/jsonb/DynamicBufferResizingTest.java   |  16 ++--
 .../apache/johnzon/jsonb/EnumConverterTest.java    |   2 +-
 .../org/apache/johnzon/jsonb/ExceptionAsserts.java |   6 +-
 .../johnzon/jsonb/FailOnUnknownPropertiesTest.java |   8 +-
 .../apache/johnzon/jsonb/GenericAdapterTest.java   |  10 +-
 .../java/org/apache/johnzon/jsonb/IJsonTest.java   |   8 +-
 .../apache/johnzon/jsonb/InterfaceMappingTest.java |   6 +-
 .../johnzon/jsonb/JohnzonConverterInJsonbTest.java |   8 +-
 .../johnzon/jsonb/JohnzonIgnoreNestedTest.java     |   4 +-
 .../org/apache/johnzon/jsonb/JohnzonJsonbTest.java |  10 +-
 .../apache/johnzon/jsonb/JohnzonProviderTest.java  |   2 +-
 .../johnzon/jsonb/JsonbAdapterExceptionsTest.java  |  12 +--
 .../org/apache/johnzon/jsonb/JsonbAdapterTest.java |   2 +-
 .../jsonb/JsonbBeanConstructorExceptionsTest.java  |   2 +-
 .../jsonb/JsonbBeanSetterUserExceptionsTest.java   |   2 +-
 .../johnzon/jsonb/JsonbCreatorExceptionsTest.java  |   6 +-
 .../apache/johnzon/jsonb/JsonbJsonValueTest.java   |   8 +-
 .../org/apache/johnzon/jsonb/JsonbReadTest.java    |  16 ++--
 .../org/apache/johnzon/jsonb/JsonbRecordTest.java  |   2 +-
 .../jsonb/JsonbSerializerExceptionsTest.java       |  24 ++---
 .../apache/johnzon/jsonb/JsonbTransientTest.java   |  10 +-
 .../org/apache/johnzon/jsonb/JsonbTypesTest.java   |   6 +-
 .../apache/johnzon/jsonb/JsonbVisitilityTest.java  |  10 +-
 .../org/apache/johnzon/jsonb/JsonbWriteTest.java   |  18 ++--
 .../java/org/apache/johnzon/jsonb/NamingTest.java  |   4 +-
 .../org/apache/johnzon/jsonb/NillableTest.java     |   6 +-
 .../johnzon/jsonb/ObjectSerializationTest.java     |   4 +-
 .../java/org/apache/johnzon/jsonb/OrderTest.java   |   2 +-
 .../johnzon/jsonb/OverrideDefaultAdaptersTest.java |  10 +-
 .../johnzon/jsonb/ParserGeneratorMappingTest.java  |   6 +-
 .../johnzon/jsonb/PolymorphicConfigTest.java       |   8 +-
 .../jsonb/PropertyNamingStrategyFactoryTest.java   |   2 +-
 .../org/apache/johnzon/jsonb/SerializerTest.java   |  26 +++---
 .../apache/johnzon/jsonb/SerializersMapTest.java   |  16 ++--
 .../SerializersObjectWithEmbeddedListTest.java     |   8 +-
 .../johnzon/jsonb/SerializersRoundTripTest.java    |  28 +++---
 .../apache/johnzon/jsonb/SnippetMaxLengthTest.java |   8 +-
 .../jsonb/api/experimental/JsonbExtensionTest.java |  28 +++---
 .../apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java |  22 ++---
 .../apache/johnzon/jsonb/model/NillableType.java   |   2 +-
 .../model/nillable/NotNillablePropertyModel.java   |   2 +-
 .../model/nillable/notnillable/package-info.java   |   2 +-
 .../johnzon/jsonb/model/nillable/package-info.java |   2 +-
 .../model/packageformat/FormatFromClassModel.java  |   2 +-
 .../model/packageformat/FormatOnClassModel.java    |   2 +-
 .../jsonb/model/packageformat/package-info.java    |   4 +-
 .../serializer/DeserializationContextTest.java     |  12 +--
 .../org/apache/johnzon/jsonb/test/JsonbRule.java   |  16 ++--
 johnzon-jsonlogic/pom.xml                          |   2 +-
 .../apache/johnzon/jsonlogic/JohnzonJsonLogic.java |  26 +++---
 .../johnzon/jsonlogic/spi/AsyncOperator.java       |   2 +-
 .../org/apache/johnzon/jsonlogic/spi/Operator.java |   2 +-
 .../johnzon/jsonlogic/JohnzonJsonLogicTest.java    |  10 +-
 johnzon-jsonp-strict/pom.xml                       |   2 +-
 .../jsonp/strict/StrictJsonPointerFactory.java     |   4 +-
 .../jsonp/strict/StrictJsonPointerFactoryTest.java |  10 +-
 johnzon-jsonschema/pom.xml                         |   8 +-
 .../johnzon/jsonschema/JsonSchemaValidator.java    |   2 +-
 .../jsonschema/JsonSchemaValidatorFactory.java     |   4 +-
 .../jsonschema/generator/PojoGenerator.java        |   8 +-
 .../johnzon/jsonschema/generator/Schema.java       |   8 +-
 .../jsonschema/generator/SchemaProcessor.java      |  16 ++--
 .../johnzon/jsonschema/spi/ValidationContext.java  |   4 +-
 .../jsonschema/spi/ValidationExtension.java        |   2 +-
 .../spi/builtin/BaseNumberValidation.java          |   4 +-
 .../jsonschema/spi/builtin/BaseValidation.java     |  10 +-
 .../jsonschema/spi/builtin/ContainsValidation.java |   4 +-
 .../jsonschema/spi/builtin/EnumValidation.java     |   2 +-
 .../spi/builtin/ExclusiveMaximumValidation.java    |   4 +-
 .../spi/builtin/ExclusiveMinimumValidation.java    |   4 +-
 .../jsonschema/spi/builtin/IntegerValidation.java  |   6 +-
 .../jsonschema/spi/builtin/ItemsValidation.java    |   4 +-
 .../jsonschema/spi/builtin/MaxItemsValidation.java |   6 +-
 .../spi/builtin/MaxLengthValidation.java           |   6 +-
 .../spi/builtin/MaxPropertiesValidation.java       |   6 +-
 .../jsonschema/spi/builtin/MaximumValidation.java  |   4 +-
 .../jsonschema/spi/builtin/MinItemsValidation.java |   6 +-
 .../spi/builtin/MinLengthValidation.java           |   6 +-
 .../spi/builtin/MinPropertiesValidation.java       |   6 +-
 .../jsonschema/spi/builtin/MinimumValidation.java  |   4 +-
 .../spi/builtin/MultipleOfValidation.java          |   4 +-
 .../jsonschema/spi/builtin/PatternValidation.java  |   4 +-
 .../jsonschema/spi/builtin/RequiredValidation.java |   6 +-
 .../jsonschema/spi/builtin/TypeValidation.java     |   6 +-
 .../spi/builtin/UniqueItemsValidation.java         |   4 +-
 .../jsonschema/JsonSchemaValidatorTest.java        |   4 +-
 .../jsonschema/generator/PojoGeneratorTest.java    |   8 +-
 .../jsonschema/spi/builtin/EnumValidationTest.java |   4 +-
 johnzon-mapper/pom.xml                             |  19 +++-
 .../johnzon/mapper/DynamicMappingGenerator.java    |   4 +-
 .../apache/johnzon/mapper/ExceptionMessages.java   |  14 +--
 .../johnzon/mapper/FactoryCreateException.java     |   2 +-
 .../org/apache/johnzon/mapper/JohnzonCores.java    |  10 +-
 .../apache/johnzon/mapper/JsonObjectGenerator.java |  10 +-
 .../java/org/apache/johnzon/mapper/Mapper.java     |  24 ++---
 .../org/apache/johnzon/mapper/MapperBuilder.java   |  10 +-
 .../org/apache/johnzon/mapper/MapperConfig.java    |   4 +-
 .../org/apache/johnzon/mapper/MapperException.java |   2 +-
 .../apache/johnzon/mapper/MappingGenerator.java    |   2 +-
 .../johnzon/mapper/MappingGeneratorImpl.java       |   4 +-
 .../org/apache/johnzon/mapper/MappingParser.java   |   2 +-
 .../apache/johnzon/mapper/MappingParserImpl.java   |  26 +++---
 .../johnzon/mapper/MissingFactoryException.java    |   2 +-
 .../org/apache/johnzon/mapper/ObjectConverter.java |   2 +-
 .../johnzon/mapper/SetterMappingException.java     |   2 +-
 .../org/apache/johnzon/mapper/SnippetFactory.java  |   2 +-
 .../johnzon/mapper/jsonp/RewindableJsonParser.java |  10 +-
 .../johnzon/core/TestJsonGeneratorFactory.java     |   2 +-
 .../DeserializationExceptionMessagesTest.java      |   4 +-
 .../java/org/apache/johnzon/mapper/JPATest.java    |  14 +--
 .../johnzon/mapper/JsonpIntegrationTest.java       |  12 +--
 .../apache/johnzon/mapper/MapperConfigTest.java    |   2 +-
 .../java/org/apache/johnzon/mapper/MapperTest.java |   8 +-
 .../org/apache/johnzon/mapper/NoWarningTest.java   |   2 +-
 .../mapper/ObjectConverterWithAnnotationTest.java  |   2 +-
 .../org/apache/johnzon/mapper/ObjectTypeTest.java  |   2 +-
 .../org/apache/johnzon/mapper/OverflowTest.java    |   2 +-
 johnzon-mapper/src/test/resources/JPATest.xml      |   6 +-
 johnzon-maven-plugin/pom.xml                       |  14 +--
 .../johnzon/maven/plugin/ExampleToModelMojo.java   |  16 ++--
 .../johnzon/maven/plugin/JsonSchemaToPojoMojo.java |   8 +-
 .../johnzon/maven/plugin/PojoToJsonSchemaMojo.java |   8 +-
 .../src/test/resources/SomeValue.record.java       |   2 +-
 johnzon-osgi/pom.xml                               |  26 +++---
 .../java/org/apache/johnzon/osgi/Activator.java    |   6 +-
 .../main/java/org/apache/johnzon/osgi/Config.java  |   2 +-
 .../johnzon/osgi/cdi/CdiExtensionFactory.java      |   2 +-
 .../johnzon/osgi/cdi/RegisterCdiExtension.java     |   2 +-
 .../org/apache/johnzon/osgi/cdi/package-info.java  |   2 +-
 .../java/org/apache/johnzon/osgi/package-info.java |   4 +-
 johnzon-websocket/pom.xml                          |   8 +-
 .../websocket/internal/TypeAwareDecoder.java       |  10 +-
 .../websocket/internal/jsr/FactoryLocator.java     |  12 +--
 .../johnzon/websocket/internal/jsr/JsrDecoder.java |  10 +-
 .../johnzon/websocket/internal/jsr/JsrEncoder.java |  10 +-
 .../websocket/internal/mapper/MapperLocator.java   |   2 +-
 .../internal/mapper/MapperLocatorDelegate.java     |   6 +-
 .../internal/servlet/IgnoreIfMissing.java          |   4 +-
 .../johnzon/websocket/jsonb/JsonbLocator.java      |   2 +-
 .../websocket/jsonb/JsonbLocatorDelegate.java      |  10 +-
 .../johnzon/websocket/jsonb/JsonbTextDecoder.java  |  10 +-
 .../johnzon/websocket/jsonb/JsonbTextEncoder.java  |  10 +-
 .../johnzon/websocket/jsr/JsrArrayDecoder.java     |   4 +-
 .../johnzon/websocket/jsr/JsrArrayEncoder.java     |   4 +-
 .../johnzon/websocket/jsr/JsrObjectDecoder.java    |   6 +-
 .../johnzon/websocket/jsr/JsrObjectEncoder.java    |   4 +-
 .../johnzon/websocket/jsr/JsrStructureDecoder.java |   6 +-
 .../johnzon/websocket/jsr/JsrStructureEncoder.java |   4 +-
 .../websocket/mapper/JohnzonTextDecoder.java       |  14 +--
 .../websocket/mapper/JohnzonTextEncoder.java       |   6 +-
 .../org/apache/johnzon/websocket/JsrCodecTest.java |  12 +--
 .../apache/johnzon/websocket/MapperCodecTest.java  |  10 +-
 .../websocket/endpoint/ClientEndpointImpl.java     |   4 +-
 .../websocket/endpoint/JsrClientEndpointImpl.java  |   6 +-
 .../websocket/endpoint/JsrServerEndpointImpl.java  |  14 +--
 .../apache/johnzon/websocket/endpoint/Message.java |   2 +-
 .../websocket/endpoint/ServerEndpointImpl.java     |   8 +-
 .../johnzon/websocket/endpoint/ServerReport.java   |  12 +--
 pom.xml                                            | 103 ++++-----------------
 src/site/markdown/index.md                         |   2 +-
 290 files changed, 1302 insertions(+), 1324 deletions(-)

diff --git a/johnzon-core/pom.xml b/johnzon-core/pom.xml
index 4128b995..e17434d7 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 19bcb1e8..e2991345 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 @@ package org.apache.johnzon.core;
 
 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 b25f5e5a..b27a6704 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 c26ca10c..738020bc 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.math.BigDecimal;
 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 61cb7080..235696e8 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.function.Consumer;
 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 1ee44fcd..675cc14f 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 7088bfdb..b385041f 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 efd10fe6..bea58cb3 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 1e369135..1c43fdff 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 3c467e43..a9ac21c8 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 646fea4f..e5939aa4 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 @@ package org.apache.johnzon.core;
 
 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 c011b1f6..53d7a431 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 740a1007..70cf5532 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.Iterator;
 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 11fd074c..2fd7a114 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 @@ package org.apache.johnzon.core;
 
 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 76375128..40079675 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 3825229b..cb449c03 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 @@ package org.apache.johnzon.core;
 
 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 9d40f052..8a4065bf 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 @@ package org.apache.johnzon.core;
 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 4a1f5232..19cc239b 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 2eb4ab09..ae690f90 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 @@ package org.apache.johnzon.core;
 
 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 f5933277..4fe84fdb 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 85174bce..50e77265 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 95ca6720..5435e637 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 29577f0a..e75f8b0a 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 @@ package org.apache.johnzon.core;
 
 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 6296676c..afd34f9c 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.Arrays;
 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 86bee4ef..b55ec8dc 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 1bfcd716..317dbbf5 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.ServiceLoader;
 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 @@ public class JsonProviderImpl extends JsonProvider implements Serializable {
     }
 
     @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 233f8b02..a9b2a316 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.Collection;
 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 969ad9a7..b7046c59 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 c854069d..2ad2c2ed 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 9cb11283..781054ac 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 8e8585af..1280bdae 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.Collection;
 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 f17e3f8d..61dd987a 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 @@ package org.apache.johnzon.core;
 
 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 c3d0c373..ae4e049b 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.io.PushbackInputStream;
 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 5e48eead..d1fb2c51 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 76b3ec61..256f1804 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 23ed634c..02a3b54f 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 @@ package org.apache.johnzon.core;
 
 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 c5bd41a9..975ba348 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 @@ package org.apache.johnzon.core;
 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 d0a2100c..a96ca757 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.Charset;
 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 946a22fb..0b62f4ed 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 ec63d9f5..eb77917c 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.lang.reflect.Field;
 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 f1226972..060386f2 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.io.StringWriter;
 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 85d14eb6..5fdf9780 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.math.BigInteger;
 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 8b6dac7b..54ab4464 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.assertEquals;
 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 1a8ba540..f28f3e79 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 @@ package org.apache.johnzon.core;
 
 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 ad1c1641..fec9fd2b 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 @@ package org.apache.johnzon.core;
 
 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 6f02665d..15359d89 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 @@ package org.apache.johnzon.core;
 
 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 473b9da7..9ca0bb44 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.math.BigInteger;
 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 a2c7c3b2..f1b86c4b 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 @@ package org.apache.johnzon.core;
 
 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 172921b6..f8244946 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 @@ package org.apache.johnzon.core;
 
 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 2a2a12dc..81ee7659 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 @@ package org.apache.johnzon.core;
 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 be97361b..99aa39f3 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.singleton;
 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 e3841d08..c9996b3e 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 static org.junit.Assert.fail;
 
 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 42fd6594..19ff327f 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.Map;
 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 d388f5f4..c2e8b5ec 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.HashMap;
 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 b86cd235..1ab0f731 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 @@ package org.apache.johnzon.core;
 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 fe53f37d..fc9ff4e7 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 static org.junit.Assert.assertNotNull;
 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 8acefe24..63c906f1 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 @@ package org.apache.johnzon.core;
 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 8389f41d..1c75e8c7 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 @@ package org.apache.johnzon.core;
 
 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 6d48c545..412df427 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 @@ package org.apache.johnzon.core;
 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 5da7fa77..66fe7fc0 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.Collections;
 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 45371389..77efec5c 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 @@ package org.apache.johnzon.core;
 
 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 f26b29dc..561b1d7e 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 static org.junit.Assert.assertEquals;
 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 137084d0..3e168bc1 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 static org.junit.Assert.assertEquals;
 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 47652e46..829fe882 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 @@ package org.apache.johnzon.core;
 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 6074563b..633d9d3e 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 @@ package org.apache.johnzon.core;
 
 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 017d3327..de27b315 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 @@ package org.apache.johnzon.core;
 
 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.Collections;
 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 9630f5bb..69576e2b 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 e5a4eb97..d832bdfc 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 32d9b2ac..c408766c 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 f841e308..0b288ade 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.concurrent.atomic.AtomicReference;
 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 21a2b0e8..02108235 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 @@ package org.apache.johnzon.jaxrs;
 
 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;
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 b65349d6..7d792c1b 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 @@ package org.apache.johnzon.jaxrs;
 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 9c7b1ac6..b3a2436b 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 @@ package org.apache.johnzon.jaxrs;
 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 b99e42b2..6005c7e2 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 @@ package org.apache.johnzon.jaxrs;
 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 69b08257..3fbee662 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 b6163c2c..b1991bc7 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 872dfe97..b9c92795 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.io.InputStream;
 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 acd496d2..9f52217d 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.io.InputStream;
 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 1a3bdc90..d094518d 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 @@ package org.apache.johnzon.jaxrs;
 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 8b9be387..be9ba78d 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.SerializeValueFilter;
 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 585622d0..01c64ad8 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 @@ package org.apache.johnzon.jaxrs;
 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 657a69e9..f8771035 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 0768e091..ae1f2f76 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.NamedNodeMap;
 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 e95cb139..92993748 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.AfterClass;
 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 a77752d7..5b81ecba 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.ArrayList;
 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 9954cbba..0b6deeb0 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.AfterClass;
 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 ea9918b7..0a31375d 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 5e3d296a..f76398fd 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.ConcurrentHashMap;
 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 1b34443a..0c329ebc 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 static org.junit.Assert.assertThat;
 
 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 f5b99c1e..7bcfd30b 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 e12c3534..b3e87f58 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.Optional.ofNullable;
 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.function.Function;
 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;
 
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 ebf427ec..919a895c 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 @@ package org.apache.johnzon.jsonb;
 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 java.util.concurrent.ConcurrentMap;
 
 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 400dfcfa..acc5c3f0 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.access.FieldAndMethodAccessMode;
 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 java.util.stream.Stream;
 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();
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 69c48166..12f12bed 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.Mapper;
 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 d21b915e..d56247a4 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 97effb96..4c09496a 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 @@ package org.apache.johnzon.jsonb;
 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 49411f56..f6036c59 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.converter.ReversedAdapter;
 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 badfc15a..3f3fbc06 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 4a23c0b0..9b7fc135 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 @@ package org.apache.johnzon.jsonb.adapter;
 
 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 d32e68ce..522a026d 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 @@ package org.apache.johnzon.jsonb.api.experimental;
 
 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 e119fd88..31fb79f9 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 @@ public final class CDIs {
         }
 
         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 ee42c9a4..56c42081 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 @@ package org.apache.johnzon.jsonb.cdi;
 
 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 079c782f..f01a9a69 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 @@ package org.apache.johnzon.jsonb.converter;
 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 72c63e0e..3b9cd854 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.ZonedDateTime;
 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 8d961c4e..64bfa040 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 fa8578d0..5915432c 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 b0c30181..281333eb 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 563968e6..5034c3e0 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 a78c1ac8..fa5af36b 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 d5ce9fc8..e6997d3d 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 c4899d38..f6fb35ed 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.io.Reader;
 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 fbb9404d..39e2d010 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.StringReader;
 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 aa2c2b6b..2e8621fb 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 c531449a..252f1f22 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 @@ package org.apache.johnzon.jsonb.serializer;
 
 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 9d69dd13..41c75889 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 @@ package org.apache.johnzon.jsonb.serializer;
 
 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 14e91ddc..11b654e6 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 @@ package org.apache.johnzon;
 
 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 0d605e61..beeafc83 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.annotation.Annotation;
 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 840273f5..f5cb9721 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 @@ package org.apache.johnzon.jsonb;
 
 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 3c758692..a0cf8239 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 @@ package org.apache.johnzon.jsonb;
 
 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 2ef37426..cc733a15 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.util.WebBeansUtil;
 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 cb8c45fe..440a26c2 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 @@ package org.apache.johnzon.jsonb;
 
 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 bb69ad05..acfb061f 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 @@ package org.apache.johnzon.jsonb;
 
 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 7b5e2ccf..b377ceb4 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 @@ package org.apache.johnzon.jsonb;
 
 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 81d077e2..5fa2369e 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.Locale;
 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 5c7f4e22..1ea55656 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.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
 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 b780497c..25e9b5f4 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 static org.junit.Assert.assertTrue;
 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 f7a7ff10..0b851cd5 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 @@ package org.apache.johnzon.jsonb;
 
 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 class DeserializationExceptionMessagesTest {
     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 22c6e78f..2f7ada87 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 @@ package org.apache.johnzon.jsonb;
 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 7e081e5c..ffb4e4c0 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.apache.johnzon.jsonb.test.JsonbRule;
 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 777ea0b8..f1bd3645 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 @@ package org.apache.johnzon.jsonb;
 
 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 36b5740a..9b8f80f1 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 @@ package org.apache.johnzon.jsonb;
 
 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 730e27c6..bdca9be8 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 @@ package org.apache.johnzon.jsonb;
 
 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 6d709fed..2cc685d9 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.Calendar;
 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 c5bdc4e8..cef36fd8 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 @@ package org.apache.johnzon.jsonb;
 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 4ce2e13c..cab88d37 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.ZoneId;
 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 2bf38155..2a8b40f5 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 @@ package org.apache.johnzon.jsonb;
 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 01e790d4..9410fb56 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 @@ package org.apache.johnzon.jsonb;
 
 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 b35bd2d2..cd13df06 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 @@ package org.apache.johnzon.jsonb;
 
 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 84a19986..7f946994 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 @@ package org.apache.johnzon.jsonb;
 
 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 256f855a..e037ac4e 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.apache.johnzon.jsonb.test.JsonbRule;
 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 a395df2a..ef0f83c0 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 @@ package org.apache.johnzon.jsonb;
 
 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 531276ce..e5bebb86 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 @@ package org.apache.johnzon.jsonb;
 
 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 15001600..ed620b95 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 @@ package org.apache.johnzon.jsonb;
 
 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 a21f28a0..0b2a666e 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 @@ package org.apache.johnzon.jsonb;
 
 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 5d85a40e..178a1886 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 @@ package org.apache.johnzon.jsonb;
 
 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 8560ee9c..16397c8a 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.apache.johnzon.mapper.JohnzonRecord;
 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 43bc71c2..4998148a 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 @@ package org.apache.johnzon.jsonb;
 
 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 417244f1..65626aa4 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.apache.johnzon.jsonb.test.JsonbRule;
 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 dcf77cd5..089f99b7 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.SimpleTimeZone;
 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 20abeb64..c6b56f79 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.lang.reflect.Method;
 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 60fbfdb0..a2fb3125 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 @@ package org.apache.johnzon.jsonb;
 
 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 715523af..b00d5a67 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.apache.johnzon.jsonb.test.JsonbRule;
 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 afa3f9b0..9334c8a0 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 @@ package org.apache.johnzon.jsonb;
 
 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 7ad703cd..e1c9c1c8 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 @@ package org.apache.johnzon.jsonb;
 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 a2630d31..a7032d01 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 @@ package org.apache.johnzon.jsonb;
 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 6b5c1b8b..282ef818 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.ZonedDateTime;
 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 e414e81e..097a9c74 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 static org.junit.Assert.assertEquals;
 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 de2e5d7f..a1a827b7 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 static org.junit.Assert.assertEquals;
 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 d9d14ed5..13498122 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.Theories;
 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 8a7d86b0..d640c09d 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.Map;
 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 4e14592b..a5a6245a 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.Before;
 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 81b8293e..a92708c6 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.apache.johnzon.jsonb.test.JsonbRule;
 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 2a40a9a6..88ef32e9 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.Objects;
 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 93c437ef..7e1ac66c 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 @@ package org.apache.johnzon.jsonb;
 
 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 a2d612c5..b6f186f4 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.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
 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 890f7ab4..5f37eec2 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.Assert;
 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 java.util.List;
 
 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 7b3bfc30..20f1cd31 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 7f1aeb7f..af526ba0 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 f5481162..36e54ce0 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 5071b4eb..c5a300b6 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 e6651e5b..1eee25c5 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 24162f75..57c29257 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 @@ package org.apache.johnzon.jsonb.model.packageformat;
 
 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 569da0ee..d8e84027 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 1be5e35c..b9659d41 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 static org.junit.Assert.assertNotNull;
 
 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 f617fe1e..855d1593 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.rules.TestRule;
 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 c1760532..48cffa60 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 21e76189..bcd682eb 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 @@ package org.apache.johnzon.jsonlogic;
 
 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 42e2d229..fdbeca0a 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 @@ package org.apache.johnzon.jsonlogic.spi;
 
 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 a66c16f8..61f82e47 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 @@ package org.apache.johnzon.jsonlogic.spi;
 
 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 53950ab3..1bb8a9cf 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.AsyncOperator;
 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 5733925e..10b11d36 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 953106e3..f9b11f2d 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 @@ package org.apache.johnzon.jsonp.strict;
 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 bd6e0ecd..37feedb2 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 @@ package org.apache.johnzon.jsonp.strict;
 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 7b3a796e..21347f86 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 78af768f..a142a960 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.Collection;
 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 d62752fc..72b9cf7e 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.function.Predicate;
 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 45022f85..b081c765 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 b05b8796..1504546c 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 5062567a..cffa7d0b 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;
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 04192cde..10b7532a 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 static java.util.stream.Collectors.joining;
 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 0b9b22c1..6949b0af 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.Optional;
 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 14c5ee48..3db5f23f 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 @@ package org.apache.johnzon.jsonschema.spi.builtin;
 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 35bc6210..ab531b69 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 @@ package org.apache.johnzon.jsonschema.spi.builtin;
 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 fe17da92..b0b81b9f 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.Optional;
 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 01858411..3da70b03 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.Optional;
 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 d5bbe502..2b887b51 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.Optional;
 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 aa479388..83f05d7f 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.Optional;
 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 81084571..4d0ced29 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.Optional;
 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 3d7315bd..943b35cb 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.Optional;
 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 d60ec0d8..ce295ddd 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.Optional;
 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 fe5a8c11..bd943d3a 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.Optional;
 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 36b06ddd..df98b0e9 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.Optional;
 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 059eab88..890e2d94 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.Optional;
 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 0787e2a4..8ed92a0d 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.Optional;
 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 820e0eec..55a6a3da 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.Optional;
 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 ce8036de..a37cd0c7 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.Optional;
 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 4b33d677..cab14c66 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.Optional;
 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 72a1862d..3e51151a 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.Optional;
 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 87784447..05715126 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.Function;
 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 27491626..24c9e352 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.Optional;
 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 67c1acef..7c3d70f9 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.Optional;
 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 ceef0b6b..3d127b55 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.Optional;
 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 adae7ae8..30affbfe 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.BigDecimal;
 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 8115839e..c58116c8 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 @@ package org.apache.johnzon.jsonschema.generator;
 
 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;
 
@@ -430,7 +430,7 @@ public class PojoGeneratorTest {
                 "package org.test;\n" +
                 "\n" +
                 "import java.util.Objects;\n" +
-                "import javax.json.JsonObject;\n" +
+                "import jakarta.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 93614833..0a274cba 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.ValidationResult;
 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 3390665a..312b5343 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>
 
@@ -35,11 +35,28 @@
       <version>${project.version}</version>
     </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 163eadef..4dce3ddd 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 58825c05..33690c0c 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 1b8fc3d7..459cb2f2 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 76a0e35e..e4b66aef 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 9f8b3808..0dbf0cc8 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.BigDecimal;
 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 022eaee0..dc4f0860 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.internal.JsonPointerTracker;
 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 ef4ca516..07ad02b5 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.AdapterKey;
 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 1bc01752..ae69bfba 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.AdapterKey;
 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 db7e3855..0772d188 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 3e52812b..d4ac625f 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 224bdd40..2d6ac184 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 static java.util.stream.Collectors.toList;
 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 7a265a61..69f3b307 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 711453d8..0eb23548 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.internal.JsonPointerTracker;
 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.Arrays.asList;
 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 0f1ccc8c..30e10268 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 673585d1..57098715 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 e1bf0592..17bdf118 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 a4d057af..25ac81c5 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 051e7767..f0c24609 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.math.BigDecimal;
 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 3380b82d..622de5d8 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 ac6fec9c..33ff7dd1 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 class DeserializationExceptionMessagesTest {
     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 3ad92b71..0bf59cae 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.After;
 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 46aeff1b..c9c2f1e9 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 @@ package org.apache.johnzon.mapper;
 
 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 d512b419..0314e868 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.apache.johnzon.mapper.map.LazyConverterMap;
 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 58b0b2b0..d117a87d 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.assertNotNull;
 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 3ffb94ec..e0ede0c4 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.Handler;
 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 9c79c7e9..82ae4614 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.Test;
 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 785cdbf6..36c76161 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.Test;
 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 a289f2ce..b59bcc27 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 @@ package org.apache.johnzon.mapper;
 
 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 4650dc87..6fee1232 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 2473a1fd..115e3da0 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 03c7ff7a..61752f17 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.Mojo;
 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 @@ public class ExampleToModelMojo extends AbstractMojo {
 
         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 074f7f18..0592ab5e 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.plugin.AbstractMojo;
 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 38f3b99a..05ca7f12 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.plugins.annotations.Parameter;
 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 7d59a64e..9bced30a 100644
--- a/johnzon-maven-plugin/src/test/resources/SomeValue.record.java
+++ b/johnzon-maven-plugin/src/test/resources/SomeValue.record.java
@@ -19,7 +19,7 @@
 package org.test.apache.johnzon.mojo;
 
 import java.util.List;
-import javax.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbProperty;
 
 public record SomeValue(
     String benchmark,
diff --git a/johnzon-osgi/pom.xml b/johnzon-osgi/pom.xml
index d9cfc96d..f384edf1 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 e3a33101..ff6f296e 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;
 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 dabb5e72..7fd2a5fa 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 667a8ab3..c9c4f58b 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 54ef9184..7334b3db 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 static org.apache.aries.component.dsl.OSGi.register;
 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;
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 e57ab0b4..0a0729c2 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 198ac72f..04cb3e22 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 f6d030a1..7d255b67 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>
 
@@ -30,7 +30,7 @@
 
   <properties>
     <tomcat.version>8.5.9</tomcat.version>
-    <tomee.version>8.0.1</tomee.version>
+    <tomee.version>8.0.13</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>
 
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 0e922158..33d6ae47 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 48463d9a..63882706 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 @@ package org.apache.johnzon.websocket.internal.jsr;
 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 2edb3c94..2f9ef637 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 @@ package org.apache.johnzon.websocket.internal.jsr;
 
 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 917482b8..e25cfe3b 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 @@ package org.apache.johnzon.websocket.internal.jsr;
 
 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 65964378..5f9bec53 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 @@ package org.apache.johnzon.websocket.internal.mapper;
 
 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 48fc30da..9fdef3b8 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.Mapper;
 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 f91344e1..6f54e90b 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 d84490dd..6e566e60 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 @@ package org.apache.johnzon.websocket.jsonb;
 
 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 3e1032ae..dcf1064e 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 c010e890..a22965a1 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 @@ package org.apache.johnzon.websocket.jsonb;
 
 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 bf1873c3..ac7fc33f 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 284b0360..b8345cef 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 9eb02f8e..edc04fe0 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 c63bfaa8..fe813653 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 b5cd180a..ca3c16d2 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 f4ad438d..60401140 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 69169f3c..e27746bd 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 @@ package org.apache.johnzon.websocket.jsr;
 
 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 60c27faa..0575cfbc 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 @@ package org.apache.johnzon.websocket.mapper;
 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 015daa9f..a041ed1e 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 @@ package org.apache.johnzon.websocket.mapper;
 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 11d77902..3f3269e1 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
@@ -39,12 +39,12 @@ import org.junit.runner.RunWith;
 
 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;
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 2dcc2090..81cd02f4 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
@@ -42,11 +42,11 @@ import org.junit.runner.RunWith;
 
 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.json.Json;
+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;
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 82260fa7..91a58742 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 org.apache.johnzon.websocket.mapper.JohnzonTextEncoder;
 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 644585ee..e17126d0 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 org.apache.johnzon.websocket.jsr.JsrObjectEncoder;
 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 a442259b..5839e05a 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.Collections;
 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 99f2d24f..013e84ff 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 ae42c880..5a434e92 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.io.IOException;
 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 3fc211b9..7e053be3 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 org.apache.johnzon.mapper.MapperBuilder;
 
 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 1a43bed4..9ef2aa96 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>
 
@@ -153,70 +151,6 @@
           <artifactId>maven-release-plugin</artifactId>
           <version>3.0.0-M6</version>
         </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>
@@ -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 3f7a4a0b..9a6ac3e7 100644
--- a/src/site/markdown/index.md
+++ b/src/site/markdown/index.md
@@ -659,7 +659,7 @@ Configuration of this extension is managed via Configuration Admin using the **p
 
 ##### 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