diff --git a/.travis.yml b/.travis.yml
index 3678af2..c09cafe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
 
 jdk:
   - oraclejdk8
-  - oraclejdk9
+  - openjdk11
 
 cache:
   directories:
@@ -12,4 +12,4 @@
 install: true
 
 script:
-  - mvn -U -C -Dnon.final=true clean verify
+  - mvn -U -C -Pstaging -Dnon.final=true clean verify
diff --git a/api/pom.xml b/api/pom.xml
index 0187aa1..1801bb0 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -57,12 +57,12 @@
                         </group>
                     </groups>
                     <bottom>
-<![CDATA[Copyright &#169; 2012-2017,
+<![CDATA[Copyright &#169; 2012-2018,
     <a href="http://www.oracle.com">Oracle</a>
     and/or its affiliates. All Rights Reserved.
     Use is subject to
     <a href="{@docRoot}/doc-files/speclicense.html" target="_top">license terms</a>.
-    <br>Comments to : jsonp-spec@javaee.groups.io
+    <br>Comments to : jsonp-dev@eclipse.org
 ]]>
                     </bottom>
                     <links>
diff --git a/api/src/main/java/javax/json/JsonArrayBuilder.java b/api/src/main/java/javax/json/JsonArrayBuilder.java
index 0673829..9c980b6 100644
--- a/api/src/main/java/javax/json/JsonArrayBuilder.java
+++ b/api/src/main/java/javax/json/JsonArrayBuilder.java
@@ -70,7 +70,7 @@
  * </code>
  * </pre>
  *
- * <p>This class does <em>not</em> allow <tt>null</tt> to be used as a
+ * <p>This class does <em>not</em> allow <code>null</code> to be used as a
  * value while building the JSON array
  *
  * @see JsonObjectBuilder
diff --git a/api/src/main/java/javax/json/JsonException.java b/api/src/main/java/javax/json/JsonException.java
index 329974d..75da5b5 100644
--- a/api/src/main/java/javax/json/JsonException.java
+++ b/api/src/main/java/javax/json/JsonException.java
@@ -43,7 +43,7 @@
      * @param message the detail message (which is saved for later retrieval
      *         by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *         {@link #getCause()} method). (A <tt>null</tt> value is
+     *         {@link #getCause()} method). (A <code>null</code> value is
      *         permitted, and indicates that the cause is nonexistent or
      *         unknown.)
      */
diff --git a/api/src/main/java/javax/json/JsonObjectBuilder.java b/api/src/main/java/javax/json/JsonObjectBuilder.java
index 119cd75..16a54cd 100644
--- a/api/src/main/java/javax/json/JsonObjectBuilder.java
+++ b/api/src/main/java/javax/json/JsonObjectBuilder.java
@@ -86,7 +86,7 @@
  * </code>
  * </pre>
  *
- * <p>This class does <em>not</em> allow <tt>null</tt> to be used as a name or
+ * <p>This class does <em>not</em> allow <code>null</code> to be used as a name or
  * value while building the JSON object
  *
  * @see JsonArrayBuilder
diff --git a/api/src/main/java/javax/json/stream/JsonGenerationException.java b/api/src/main/java/javax/json/stream/JsonGenerationException.java
index e19b4e5..b77d929 100644
--- a/api/src/main/java/javax/json/stream/JsonGenerationException.java
+++ b/api/src/main/java/javax/json/stream/JsonGenerationException.java
@@ -45,7 +45,7 @@
      * @param message the detail message (which is saved for later retrieval
      *                by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *              {@link #getCause()} method). (A <tt>null</tt> value is
+     *              {@link #getCause()} method). (A <code>null</code> value is
      *              permitted, and indicates that the cause is nonexistent or
      *              unknown.)
      */
diff --git a/api/src/main/java/javax/json/stream/JsonParsingException.java b/api/src/main/java/javax/json/stream/JsonParsingException.java
index 9677438..212900b 100644
--- a/api/src/main/java/javax/json/stream/JsonParsingException.java
+++ b/api/src/main/java/javax/json/stream/JsonParsingException.java
@@ -49,7 +49,7 @@
      * @param message the detail message (which is saved for later retrieval
      *                by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *              {@link #getCause()} method). (A <tt>null</tt> value is
+     *              {@link #getCause()} method). (A <code>null</code> value is
      *              permitted, and indicates that the cause is nonexistent or
      *              unknown.)
      * @param location the location of the incorrect JSON
diff --git a/bundles/licensee/pom.xml b/bundles/licensee/pom.xml
deleted file mode 100755
index b10610a..0000000
--- a/bundles/licensee/pom.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.glassfish</groupId>
-        <artifactId>json-bundles</artifactId>
-        <version>1.1.4-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>json-licensee-bundle</artifactId>
-    <name>Licensee source bundle</name>
-    <packaging>pom</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>javax.json</artifactId>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>wagon-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>get-license</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>download-single</goal>
-                        </goals>
-                        <configuration>
-                            <url>${license.url}</url>
-                            <fromFile>TLDA_SCSL_Licensees_License_Notice.txt</fromFile>
-                            <toDir>${assembly.directory}</toDir>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <finalName>javax.json-ri-${impl_version}-src-licensee</finalName>
-                    <descriptors>
-                        <descriptor>src/main/assembly/archive.xml</descriptor>
-                    </descriptors>
-                    <appendAssemblyId>false</appendAssemblyId>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>make-assembly</id>
-                        <phase>package</phase> 
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <properties>
-        <assembly.directory>${project.build.directory}/assembly</assembly.directory>
-        <license.url>http://hudson-sca.us.oracle.com/job/tlda-license/lastSuccessfulBuild/artifact</license.url>
-    </properties>
-
-</project>
diff --git a/bundles/licensee/src/main/assembly/archive.xml b/bundles/licensee/src/main/assembly/archive.xml
deleted file mode 100755
index c4c26e7..0000000
--- a/bundles/licensee/src/main/assembly/archive.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<!--
-
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<assembly>
-    <id>dist</id>
-    <formats>
-        <format>zip</format>
-    </formats>
-    <fileSets>
-        <fileSet>
-            <directory>../..</directory>
-            <includes>
-                <include>api/**</include>
-                <include>impl/**</include>
-            </includes>
-            <excludes>
-                <exclude>api/target/**</exclude>
-                <exclude>impl/target/**</exclude>
-                <exclude>**/*.iml</exclude>
-            </excludes>
-        	<outputDirectory/>
-        </fileSet>
-        <fileSet>
-            <directory>target/assembly</directory>
-            <includes>
-                <include>*.txt</include>
-            </includes>
-        	<outputDirectory/>
-        </fileSet>
-    </fileSets>
-</assembly>
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 8382e2f..7f03345 100644
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -37,12 +37,4 @@
     <modules>
         <module>ri</module>
     </modules>
-    <profiles>
-        <profile>
-            <id>licensee</id>
-            <modules>
-                <module>licensee</module>
-            </modules>
-        </profile>
-    </profiles>
 </project>
diff --git a/bundles/ri/pom.xml b/bundles/ri/pom.xml
index 11b94bb..3c224e9 100755
--- a/bundles/ri/pom.xml
+++ b/bundles/ri/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
     </parent>
 
     <artifactId>json-ri-bundle</artifactId>
-    <name>RI bundle</name>
+    <name>RI Distribution zip bundle</name>
     <packaging>pom</packaging>
 
     <dependencies>
@@ -38,50 +38,80 @@
             <groupId>org.glassfish</groupId>
             <artifactId>javax.json</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.glassfish</groupId>
+            <artifactId>jsonp-jaxrs</artifactId>
+        </dependency>
     </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>copy</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <stripVersion>false</stripVersion>
-                            <outputDirectory>${assembly.directory}</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <finalName>javax.json-ri-${impl_version}</finalName>
-                    <descriptors>
-                        <descriptor>src/main/assembly/archive.xml</descriptor>
-                    </descriptors>
-                    <appendAssemblyId>false</appendAssemblyId>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>make-assembly</id> <!-- this is used for inheritance merges -->
-                        <phase>package</phase> <!-- append to the packaging phase. -->
-                        <goals>
-                            <goal>single</goal> <!-- goals == mojos -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
 
-    <properties>
-        <assembly.directory>${project.build.directory}/assembly</assembly.directory>
-    </properties>
-
+    <profiles>
+        <profile>
+            <!-- this profile is just for making build running on JDK 8 happy -->
+            <id>default-setup</id>
+            <activation>
+                <jdk>(,9)</jdk>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>make-assembly-jdk8</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <finalName>jakarta.json-ri-jdk8-${impl_version}</finalName>
+                                    <descriptors>
+                                        <descriptor>src/main/assembly/archive-jdk8.xml</descriptor>
+                                    </descriptors>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>jdk9-setup</id>
+            <activation>
+                <jdk>[9,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish</groupId>
+                    <artifactId>javax.json</artifactId>
+                    <classifier>module</classifier>
+                    <version>${project.version}</version>
+                </dependency>
+            </dependencies>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>make-assembly</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <finalName>jakarta.json-ri-${impl_version}</finalName>
+                                    <descriptors>
+                                        <descriptor>src/main/assembly/archive.xml</descriptor>
+                                    </descriptors>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>
diff --git a/bundles/ri/src/main/assembly/archive-jdk8.xml b/bundles/ri/src/main/assembly/archive-jdk8.xml
new file mode 100644
index 0000000..ddfd3e6
--- /dev/null
+++ b/bundles/ri/src/main/assembly/archive-jdk8.xml
@@ -0,0 +1,61 @@
+<!--
+
+    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<assembly>
+    <id>dist</id>
+    <formats>
+        <format>zip</format>
+    </formats>
+    <files>
+        <file>
+            <source>src/main/resources/README.txt</source>
+            <outputDirectory></outputDirectory>
+            <filtered>true</filtered>
+        </file>
+        <file>
+            <source>src/main/resources/LICENSE.md</source>
+            <outputDirectory></outputDirectory>
+        </file>
+    </files>
+    <dependencySets>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>api</outputDirectory>
+            <includes>
+                <include>jakarta.json:jakarta.json-api:*</include>
+            </includes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>standalone</outputDirectory>
+            <includes>
+                <include>org.glassfish:javax.json</include>
+            </includes>
+            <excludes>
+                <exclude>org.glassfish:javax.json:jar:module:*</exclude>
+            </excludes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>jaxrs</outputDirectory>
+            <includes>
+                <include>org.glassfish:jsonp-jaxrs*</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
+</assembly>
diff --git a/bundles/ri/src/main/assembly/archive.xml b/bundles/ri/src/main/assembly/archive.xml
index 725daaf..914329a 100755
--- a/bundles/ri/src/main/assembly/archive.xml
+++ b/bundles/ri/src/main/assembly/archive.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,17 +21,42 @@
     <formats>
         <format>zip</format>
     </formats>
-    <fileSets>
-        <fileSet>
-            <directory>src/main/resources</directory>
+    <files>
+        <file>
+            <source>src/main/resources/README.txt</source>
             <outputDirectory></outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>target/assembly</directory>
+            <filtered>true</filtered>
+        </file>
+        <file>
+            <source>src/main/resources/LICENSE.md</source>
+            <outputDirectory></outputDirectory>
+        </file>
+    </files>
+    <dependencySets>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>mods</outputDirectory>
             <includes>
-                <include>*.jar</include>
+                <include>jakarta.json:jakarta.json-api:*</include>
+                <include>org.glassfish:javax.json:jar:module:*</include>
             </includes>
-            <outputDirectory>lib</outputDirectory>
-        </fileSet>
-    </fileSets>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>standalone</outputDirectory>
+            <includes>
+                <include>org.glassfish:javax.json</include>
+            </includes>
+            <excludes>
+                <exclude>org.glassfish:javax.json:jar:module:*</exclude>
+            </excludes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>jaxrs</outputDirectory>
+            <includes>
+                <include>org.glassfish:jsonp-jaxrs*</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
 </assembly>
diff --git a/bundles/ri/src/main/resources/README.txt b/bundles/ri/src/main/resources/README.txt
index 7b7bda5..c5cfd96 100644
--- a/bundles/ri/src/main/resources/README.txt
+++ b/bundles/ri/src/main/resources/README.txt
@@ -1,22 +1,51 @@
-* javax.json-1.1.4.jar contains both "JSR 374 : Java API for JSON Processing 1.1" API and its default provider implementation. Keep it in classpath for both compiling and running your application.
+* standalone/javax.json-${project.version}.jar contains both "JSR 374 : Java API for JSON Processing 1.1" API
+  and its default provider implementation. Keep it in classpath for both compiling and running your application.
+  Automatic module name is: 'java.json'
+
+For running on JPMS, following modules are provided:
+* mods/jakarta.json-api-${project.version}.jar - 'java.json' module containing only API classes
+* mods/javax.json-${project.version}-module.jar - 'org.glassfish.java.json' module containing implementation
+
+Integration with JAX-RS: Java API for RESTful Web Services (JAX-RS) is provided through
+* jaxrs/jsonp-jaxrs-${project.version}.jar
+
+
+IMPORTANT NOTE: module names are not yet final and may change in the future releases
+
 
 * If you are running with maven, you can use the following maven coordinates:
 
-for APIs:
-  <dependency>
-      <groupId>javax.json</groupId>
-      <artifactId>javax.json-api</artifactId>
-      <version>1.1.4</version>
-  </dependency>
-
-for reference implementation:
-
+for standalone reference implementation which includes APIs and implementation classes:
   <dependency>
       <groupId>org.glassfish</groupId>
       <artifactId>javax.json</artifactId>
-      <version>1.1.4</version>
+      <version>${project.version}</version>
   </dependency>
 
-* GlassFish 5.x already bundles latest JSON Processing implementation and JAX-RS integration module. If you deploy an application with GlassFish 5.x, your application (war/ear) doesn't have to bundle APIs nor the ri jar.
+for APIs:
+  <dependency>
+      <groupId>jakarta.json</groupId>
+      <artifactId>jakarta.json-api</artifactId>
+      <version>${project.version}</version>
+  </dependency>
+
+for implementation only:
+  <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>javax.json</artifactId>
+      <classifier>module</classifier>
+      <version>${project.version}</version>
+  </dependency>
+
+for JAX-RS integration module:
+  <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>jsonp-jaxrs</artifactId>
+      <version>${project.version}</version>
+  </dependency>
+
+
+* GlassFish 5.x already bundles latest JSON Processing implementation and JAX-RS integration module.
+If you deploy an application with GlassFish 5.x, your application (war/ear) doesn't have to bundle APIs nor the ri jar.
 
 * Samples can be run from https://github.com/javaee/glassfish-samples
diff --git a/demos/NOTICE.md b/demos/NOTICE.md
new file mode 100644
index 0000000..b4cb5ba
--- /dev/null
+++ b/demos/NOTICE.md
@@ -0,0 +1,49 @@
+# Notices for Eclipse Project for JSON Processing
+
+This content is produced and maintained by the Eclipse Project for JSON
+Processing project.
+
+* Project home: https://projects.eclipse.org/projects/ee4j.jsonp
+
+## Trademarks
+
+Eclipse Project for JSON Processing is a trademark of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v. 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+available under the following Secondary Licenses when the conditions for such
+availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
+General Public License, version 2 with the GNU Classpath Exception which is
+available at https://www.gnu.org/software/classpath/license.html.
+
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/jsonp
+
+## Third-party Content
+
+JUnit (4.12)
+
+* License: Eclipse Public License
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
diff --git a/demos/facebook/pom.xml b/demos/facebook/pom.xml
index 4bfa63d..75982b8 100644
--- a/demos/facebook/pom.xml
+++ b/demos/facebook/pom.xml
@@ -70,12 +70,18 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <dependencies>
                 <dependency>
+                    <groupId>jakarta.json</groupId>
+                    <artifactId>jakarta.json-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
                     <groupId>org.glassfish</groupId>
                     <artifactId>javax.json</artifactId>
+                    <classifier>module</classifier>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
diff --git a/demos/jaxrs/pom.xml b/demos/jaxrs/pom.xml
index 6316af0..70ea294 100644
--- a/demos/jaxrs/pom.xml
+++ b/demos/jaxrs/pom.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -28,13 +28,13 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-web-api</artifactId>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/demos/jsonpointer/pom.xml b/demos/jsonpointer/pom.xml
index 779727a..9884cb0 100644
--- a/demos/jsonpointer/pom.xml
+++ b/demos/jsonpointer/pom.xml
@@ -70,12 +70,18 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <dependencies>
                 <dependency>
+                    <groupId>jakarta.json</groupId>
+                    <artifactId>jakarta.json-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
                     <groupId>org.glassfish</groupId>
                     <artifactId>javax.json</artifactId>
+                    <classifier>module</classifier>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
diff --git a/demos/pom.xml b/demos/pom.xml
index 3d68f20..663de8a 100644
--- a/demos/pom.xml
+++ b/demos/pom.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -25,6 +25,10 @@
     <groupId>org.glassfish.jsonp</groupId>
     <artifactId>demos</artifactId>
 
+    <properties>
+        <legal.doc.source>${basedir}/..</legal.doc.source>
+    </properties>
+
     <profiles>
         <profile>
             <id>all</id>
@@ -33,8 +37,8 @@
             </activation>
             <dependencies>
                 <dependency>
-                    <groupId>javax</groupId>
-                    <artifactId>javaee-web-api</artifactId>
+                    <groupId>jakarta.servlet</groupId>
+                    <artifactId>jakarta.servlet-api</artifactId>
                     <scope>provided</scope>
                 </dependency>
                 <dependency>
@@ -54,7 +58,7 @@
         <profile>
             <id>jdk9-all</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <modules>
                 <module>jaxrs</module>
diff --git a/demos/servlet/pom.xml b/demos/servlet/pom.xml
index 34c71c2..2e6338f 100644
--- a/demos/servlet/pom.xml
+++ b/demos/servlet/pom.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -28,8 +28,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-web-api</artifactId>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/demos/twitter/pom.xml b/demos/twitter/pom.xml
index 3b568a4..d06b32f 100644
--- a/demos/twitter/pom.xml
+++ b/demos/twitter/pom.xml
@@ -58,12 +58,18 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <dependencies>
                 <dependency>
+                    <groupId>jakarta.json</groupId>
+                    <artifactId>jakarta.json-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
                     <groupId>org.glassfish</groupId>
                     <artifactId>javax.json</artifactId>
+                    <classifier>module</classifier>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
diff --git a/gf/customprovider/src/main/java/org/glassfish/json/customprovider/TestGenerator.java b/gf/customprovider/src/main/java/org/glassfish/json/customprovider/TestGenerator.java
index 117fa27..a0295fa 100644
--- a/gf/customprovider/src/main/java/org/glassfish/json/customprovider/TestGenerator.java
+++ b/gf/customprovider/src/main/java/org/glassfish/json/customprovider/TestGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -113,11 +113,13 @@
         return null;
     }
 
+    @Override
     public JsonGenerator write(String value) {
         return null;
     }
 
 
+    @Override
     public JsonGenerator write(int value) {
         return null;
     }
@@ -142,10 +144,12 @@
         return null;
     }
 
+    @Override
     public JsonGenerator write(boolean value) {
         return null;
     }
 
+    @Override
     public JsonGenerator writeNull() {
         return null;
     }
@@ -160,6 +164,7 @@
         return this;
     }
 
+    @Override
     public void close() {
         try {
             writer.close();
@@ -168,4 +173,9 @@
         }
     }
 
+    @Override
+    public JsonGenerator writeKey(String name) {
+        return null;
+    }
+
 }
diff --git a/gf/pom.xml b/gf/pom.xml
index ad4b73b..8b1cef3 100644
--- a/gf/pom.xml
+++ b/gf/pom.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -33,8 +33,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-web-api</artifactId>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -53,7 +53,7 @@
         <finalName>customprovider</finalName>
     </build>
     <modules>
-		<module>customprovider</module>
-		<module>defaultprovider</module>
+        <module>customprovider</module>
+        <module>defaultprovider</module>
     </modules>
 </project>
diff --git a/impl/pom.xml b/impl/pom.xml
index e1fd5f6..07e7483 100644
--- a/impl/pom.xml
+++ b/impl/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -37,7 +37,7 @@
 
     <properties>
         <packages.private>org.glassfish.json</packages.private>
-        <packages.export>org.glassfish.json.api</packages.export>
+        <packages.export>javax.json.*,org.glassfish.json.api</packages.export>
     </properties>
 
     <build>
@@ -69,7 +69,88 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>sources-as-resources</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/java</directory>
+                                </resource>
+                            </resources>
+                            <outputDirectory>${project.build.directory}/sources</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>unpack-client-sources</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>jakarta.json</groupId>
+                                    <artifactId>jakarta.json-api</artifactId>
+                                    <version>${spec_impl_version}</version>
+                                    <classifier>sources</classifier>
+                                    <overWrite>false</overWrite>
+                                    <outputDirectory>${project.build.directory}/sources</outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-source-jar</id>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <configuration>
+                            <classifier>sources</classifier>
+                            <classesDirectory>${project.build.directory}/sources</classesDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <includeDependencySources>true</includeDependencySources>
+                    <bottom>
+<![CDATA[Copyright &#169; 2012-2018,
+    <a href="http://www.oracle.com">Oracle</a>
+    and/or its affiliates. All Rights Reserved.
+    Use is subject to
+    <a href="{@docRoot}/doc-files/speclicense.html" target="_top">license terms</a>.
+    <br>Comments to : jsonp-dev@eclipse.org
+]]>
+                    </bottom>
+                </configuration>
                 <executions>
                     <execution>
                         <id>attach-javadocs</id>
@@ -89,17 +170,27 @@
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-Version>${spec.bundle.version}</Bundle-Version>
-                        <Bundle-SymbolicName>${spec.bundle.symbolic-name}</Bundle-SymbolicName>
-                        <Extension-Name>${spec.extension.name}</Extension-Name>
-                        <Implementation-Version>${spec.implementation.version}</Implementation-Version>
-                        <Specification-Version>${spec.specification.version}</Specification-Version>
-                        <Export-Package>${packages.export}</Export-Package>
-                        <Private-Package>${packages.private}</Private-Package>
-                    </instructions>
-                </configuration>
+                <executions>
+                    <execution>
+                        <id>default-bundle</id>
+                        <goals>
+                            <goal>bundle</goal>
+                        </goals>
+                        <configuration>
+                            <instructions>
+                                <Bundle-Version>${spec.bundle.version}</Bundle-Version>
+                                <Bundle-SymbolicName>${spec.bundle.symbolic-name}</Bundle-SymbolicName>
+                                <Extension-Name>${spec.extension.name}</Extension-Name>
+                                <Implementation-Version>${spec.implementation.version}</Implementation-Version>
+                                <Specification-Version>${spec.specification.version}</Specification-Version>
+                                <Export-Package>${packages.export}</Export-Package>
+                                <Private-Package>${packages.private}</Private-Package>
+                                <Automatic-Module-Name>java.json</Automatic-Module-Name>
+                                <_donotcopy>.*services.*</_donotcopy>
+                            </instructions>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
@@ -107,6 +198,7 @@
         <dependency>
             <groupId>jakarta.json</groupId>
             <artifactId>jakarta.json-api</artifactId>
+            <optional>true</optional>
         </dependency>
     </dependencies>
 
@@ -114,36 +206,37 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <build>
                 <plugins>
                     <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <configuration>
-                            <!--
-                               workaround for https://issues.apache.org/jira/browse/MJAVADOC-489
-                            -->
-                            <additionalJOptions>
-                                <additionalJOption>--add-modules</additionalJOption>
-                                <additionalJOption>java.json</additionalJOption>
-                                <additionalJOption>--module-path</additionalJOption>
-                                <additionalJOption>${project.build.directory}/../../api/target/javax.json-api-${project.version}.jar</additionalJOption>
-                            </additionalJOptions>
-                        </configuration>
-                    </plugin>
-                    <plugin>
                         <groupId>org.apache.felix</groupId>
                         <artifactId>maven-bundle-plugin</artifactId>
-                        <configuration>
-                            <instructions>
-                                <Include-Resource>{maven-resources},target/classes/module-info.class</Include-Resource>
-                            </instructions>
-                        </configuration>
+                        <executions>
+                            <execution>
+                                <id>main-artifact-module</id>
+                                <goals>
+                                    <goal>bundle</goal>
+                                </goals>
+                                <configuration>
+                                    <classifier>module</classifier>
+                                    <instructions>
+                                        <Bundle-Version>${spec.bundle.version}</Bundle-Version>
+                                        <Bundle-SymbolicName>${spec.bundle.symbolic-name}.module</Bundle-SymbolicName>
+                                        <Extension-Name>${spec.extension.name}</Extension-Name>
+                                        <Implementation-Version>${spec.implementation.version}</Implementation-Version>
+                                        <Specification-Version>${spec.specification.version}</Specification-Version>
+                                        <Export-Package>org.glassfish.json.api</Export-Package>
+                                        <Private-Package>${packages.private}</Private-Package>
+                                        <Include-Resource>{maven-resources},target/classes/module-info.class</Include-Resource>
+                                    </instructions>
+                                </configuration>
+                            </execution>
+                        </executions>
                     </plugin>
                 </plugins>
             </build>
         </profile>
     </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/jaxrs-1x/pom.xml b/jaxrs-1x/pom.xml
index 9b29fbd..7a1e615 100644
--- a/jaxrs-1x/pom.xml
+++ b/jaxrs-1x/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -84,37 +84,15 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>default-compile</id>
-                                <configuration>
-                                    <compilerArgs>
-                                        <arg>--add-modules</arg>
-                                        <arg>java.xml.ws.annotation</arg>
-                                    </compilerArgs>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <configuration>
-                            <additionalJOptions>
-                                <additionalJOption>--add-modules</additionalJOption>
-                                <additionalJOption>java.xml.ws.annotation</additionalJOption>
-                            </additionalJOptions>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
+            <dependencies>
+                <dependency>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                    <scope>provided</scope>
+                </dependency>
+            </dependencies>
         </profile>
     </profiles>
 
diff --git a/jaxrs/pom.xml b/jaxrs/pom.xml
index dc2f9fc..cf46604 100644
--- a/jaxrs/pom.xml
+++ b/jaxrs/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2017 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -70,8 +70,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.json</groupId>
@@ -84,37 +85,15 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>default-compile</id>
-                                <configuration>
-                                    <compilerArgs>
-                                        <arg>--add-modules</arg>
-                                        <arg>java.xml.ws.annotation</arg>
-                                    </compilerArgs>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <configuration>
-                            <additionalJOptions>
-                                <additionalJOption>--add-modules</additionalJOption>
-                                <additionalJOption>java.xml.ws.annotation</additionalJOption>
-                            </additionalJOptions>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
+            <dependencies>
+                <dependency>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                    <scope>provided</scope>
+                </dependency>
+            </dependencies>
         </profile>
     </profiles>
 </project>
diff --git a/pom.xml b/pom.xml
index 5a48bf0..5fb5546 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.eclipse.ee4j</groupId>
         <artifactId>project</artifactId>
-        <version>1.0</version>
+        <version>1.0.4</version>
     </parent>
 
     <prerequisites>
@@ -58,11 +58,6 @@
         </license>
     </licenses>
 
-    <organization>
-        <name>Oracle</name>
-        <url>http://www.oracle.com</url>
-    </organization>
-
     <developers>
         <developer>
             <id>lukasj</id>
@@ -83,6 +78,7 @@
         <impl_version>1.1.4</impl_version>
         <new_impl_version>1.2</new_impl_version>
         <non.final>false</non.final>
+        <legal.doc.source>${maven.multiModuleProjectDirectory}</legal.doc.source>
     </properties>
 
     <build>
@@ -103,6 +99,31 @@
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>add-legal-resource</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>add-resource</goal>
+                        </goals>
+                        <configuration>
+                            <resources>
+                                <resource>
+                                    <directory>${legal.doc.source}</directory>
+                                    <includes>
+                                        <include>NOTICE.md</include>
+                                        <include>LICENSE.md</include>
+                                    </includes>
+                                    <targetPath>META-INF</targetPath>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-source-plugin</artifactId>
                 <executions>
@@ -142,6 +163,11 @@
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-bundle-plugin</artifactId>
                     <version>3.5.0</version>
+                    <configuration>
+                        <instructions>
+                            <_noee>true</_noee>
+                        </instructions>
+                    </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
@@ -151,7 +177,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <version>3.0.1</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -218,7 +244,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.20.1</version>
+                    <version>2.22.0</version>
                 </plugin>
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
@@ -249,15 +275,20 @@
     <dependencyManagement>
         <dependencies>
             <dependency>
-                <groupId>javax.ws.rs</groupId>
-                <artifactId>javax.ws.rs-api</artifactId>
-                <version>2.0.1</version>
+                <groupId>jakarta.ws.rs</groupId>
+                <artifactId>jakarta.ws.rs-api</artifactId>
+                <version>2.1.2</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
-                <groupId>javax</groupId>
-                <artifactId>javaee-web-api</artifactId>
-                <version>7.0</version>
+                <groupId>jakarta.annotation</groupId>
+                <artifactId>jakarta.annotation-api</artifactId>
+                <version>1.3.3</version>
+            </dependency>
+            <dependency>
+                <groupId>jakarta.servlet</groupId>
+                <artifactId>jakarta.servlet-api</artifactId>
+                <version>4.0.2</version>
             </dependency>
             <dependency>
                 <groupId>jakarta.json</groupId>
@@ -266,12 +297,18 @@
             </dependency>
             <dependency>
                 <groupId>org.glassfish</groupId>
-                <artifactId>java.json</artifactId>
+                <artifactId>javax.json</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish</groupId>
                 <artifactId>javax.json</artifactId>
+                <classifier>module</classifier>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish</groupId>
+                <artifactId>jsonp-jaxrs</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
@@ -301,7 +338,7 @@
         <profile>
             <id>jdk9-setup</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <build>
                 <pluginManagement>
@@ -334,15 +371,6 @@
                                 </execution>
                             </executions>
                         </plugin>
-                        <plugin>
-                            <groupId>org.apache.felix</groupId>
-                            <artifactId>maven-bundle-plugin</artifactId>
-                            <configuration>
-                                <instructions>
-                                    <_failok>true</_failok>
-                                </instructions>
-                            </configuration>
-                        </plugin>
                     </plugins>
                 </pluginManagement>
                 <plugins>
@@ -370,7 +398,7 @@
         <profile>
             <id>jdk9-all</id>
             <activation>
-                <jdk>9</jdk>
+                <jdk>[9,)</jdk>
             </activation>
             <modules>
                 <module>api</module>
@@ -400,39 +428,6 @@
                 <module>bundles</module>
             </modules>
         </profile>
-        <profile>
-            <id>licensee</id>
-            <modules>
-                <module>api</module>
-                <module>impl</module>
-                <module>jaxrs</module>
-                <module>jaxrs-1x</module>
-                <module>tests</module>
-                <module>gf</module>
-                <module>demos</module>
-                <module>bundles</module>
-            </modules>
-        </profile>
-        <profile>
-            <id>jvnet-release</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>3.0.0</version>
-                        <executions>
-                            <execution>
-                                <id>attach-javadocs</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
     </profiles>
 
     <reporting>
