diff --git a/api/pom.xml b/api/pom.xml
index 49bcc82..c0b664a 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -21,14 +21,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.eclipse.ee4j</groupId>
-        <artifactId>project</artifactId>
-        <version>1.0.4</version>
+        <groupId>org.eclipse.ee4j.ca</groupId>
+        <artifactId>ca-parent</artifactId>
+        <version>1.3.3-SNAPSHOT</version>
     </parent>
 
     <groupId>jakarta.annotation</groupId>
     <artifactId>jakarta.annotation-api</artifactId>
-    <version>1.3.3-SNAPSHOT</version>
 
     <properties>
         <non.final>false</non.final>
@@ -282,38 +281,32 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <doctitle>Jakarta Annotations ${project.version} API Specification</doctitle>
+                    <sourceFileExcludes>
+                        <sourceFileExclude>**/module-info.java</sourceFileExclude>
+                        <sourceFileExclude>target/**/*.java</sourceFileExclude>
+                    </sourceFileExcludes>
+                    <docfilessubdirs>true</docfilessubdirs>
+                    <links>
+                        <link>http://docs.oracle.com/javase/8/docs/api/</link>
+                    </links>
+                    <detectJavaApiLink>false</detectJavaApiLink>
+                    <detectOfflineLinks>false</detectOfflineLinks>
+                    <header><![CDATA[<br>Jakarta Annotations API v${project.version}]]>
+                    </header>
+                    <bottom><![CDATA[
+                    Copyright &#169; {inceptionYear}&#x2013;{currentYear} Oracle and/or its affiliates. All rights reserved.<br>
+                    Use is subject to <a href="{@docRoot}/doc-files/EFSL.html" target="_top">license terms</a>.]]>
+                    </bottom>
+                </configuration>
                 <executions>
                     <execution>
                         <id>attach-javadocs</id>
                         <goals>
                             <goal>jar</goal>
                         </goals>
-                        <configuration>
-                            <detectJavaApiLink>false</detectJavaApiLink>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <phase>javadoc</phase>
-                        <goals>
-                            <goal>javadoc</goal>
-                        </goals>
-                        <configuration>
-                            <detectJavaApiLink>false</detectJavaApiLink>
-                            <groups>
-                                <group>
-                                    <title>${project.name} Documentation</title>
-                                    <packages>javax.annotation</packages>
-                                </group>
-                            </groups>
-                            <bottom>
-<![CDATA[Copyright &#169; 1999-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>.
-]]>
-                            </bottom>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
@@ -357,7 +350,5 @@
                 </configuration>
             </plugin>
         </plugins>
-
     </build>
-
 </project>
diff --git a/api/src/main/java/javax/annotation/ManagedBean.java b/api/src/main/java/javax/annotation/ManagedBean.java
index 4fce3fa..7ef3711 100644
--- a/api/src/main/java/javax/annotation/ManagedBean.java
+++ b/api/src/main/java/javax/annotation/ManagedBean.java
@@ -22,7 +22,7 @@
 
 /**
  * The <code>ManagedBean</code> annotation marks a POJO (Plain Old Java Object)
- * as a ManagedBean.  A ManagedBean supports a small set of basic services 
+ * as a ManagedBean.  A ManagedBean supports a small set of basic services
  * such as resource injection, lifecycle callbacks and interceptors.
  *
  * @since Common Annotations 1.1
@@ -32,7 +32,7 @@
 public @interface ManagedBean {
     /**
      * The name of the Managed Bean. Managed Bean names must be unique within a
-     * Java EE module. For each named Managed Bean, Java EE containers must make
+     * Jakarta EE module. For each named Managed Bean, Java EE containers must make
      * available the following entries in JNDI, using the same naming scheme used
      * for EJB components.
      * <p>
diff --git a/api/src/main/java/javax/annotation/PreDestroy.java b/api/src/main/java/javax/annotation/PreDestroy.java
index 2d2d842..06100c1 100644
--- a/api/src/main/java/javax/annotation/PreDestroy.java
+++ b/api/src/main/java/javax/annotation/PreDestroy.java
@@ -21,14 +21,14 @@
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
- * The <code>PreDestroy</code> annotation is used on a method as a 
- * callback notification to signal that the instance is in the 
- * process of being removed by the container. The method annotated 
- * with <code>PreDestroy</code> is typically used to 
- * release resources that it has been holding. This annotation must be 
+ * The <code>PreDestroy</code> annotation is used on a method as a
+ * callback notification to signal that the instance is in the
+ * process of being removed by the container. The method annotated
+ * with <code>PreDestroy</code> is typically used to
+ * release resources that it has been holding. This annotation must be
  * supported by all container-managed objects that support the use of
- * the <code>PostConstruct</code> annotation except the Java EE application 
- * client. The method on which the <code>PreDestroy</code> annotation 
+ * the <code>PostConstruct</code> annotation except the Jakarta EE application 
+ * client. The method on which the <code>PreDestroy</code> annotation
  * is applied must fulfill all of the following criteria:
  * <ul>
  * <li>The method must not have any parameters except in the case of
@@ -53,7 +53,7 @@
  * <p>
  * void &#060;METHOD&#062;()
  * </li>
- * <li>The method on which PreDestroy is applied may be public, protected, 
+ * <li>The method on which PreDestroy is applied may be public, protected,
  * package private or private.</li>
  * <li>The method must not be static.</li>
  * <li>The method should not be final.</li>
diff --git a/api/src/main/java/javax/annotation/sql/DataSourceDefinition.java b/api/src/main/java/javax/annotation/sql/DataSourceDefinition.java
index ab919fd..e6c0bf5 100644
--- a/api/src/main/java/javax/annotation/sql/DataSourceDefinition.java
+++ b/api/src/main/java/javax/annotation/sql/DataSourceDefinition.java
@@ -32,7 +32,7 @@
  *
  * The data source will be registered under the name specified in the
  * <code>name</code> element. It may be defined to be in any valid
- * Java EE namespace, which will determine the accessibility of
+ * Jakarta EE namespace, which will determine the accessibility of
  * the data source from other components.
  * <p>
  * A JDBC driver implementation class of the appropriate type, either
@@ -58,13 +58,13 @@
  * </pre>
  * <p>
  * In the above example, the <code>databaseName</code>, <code>user</code>
- * and <code>serverName</code> properties were specified as part of the 
+ * and <code>serverName</code> properties were specified as part of the
  * <code>url</code> property and using the corresponding
  * annotation elements. This should be avoided.
  * <p>
- * If the <code>properties</code> annotation element is used and contains a 
- * DataSource property that was also specified using the corresponding 
- * annotation element, the annotation element value takes precedence.  
+ * If the <code>properties</code> annotation element is used and contains a
+ * DataSource property that was also specified using the corresponding
+ * annotation element, the annotation element value takes precedence.
  * For example:
  * <p>
  * <pre>
@@ -112,7 +112,7 @@
  *      user="lance",
  *      password="secret"
  *   )
- * 
+ *
  * </pre>
  * <p>
  * Using a <code>URL</code>:
@@ -167,9 +167,9 @@
     String description() default "";
 
     /**
-     * A JDBC URL.  If the <code>url</code>  annotation element contains a 
-     * DataSource property that was also specified using the corresponding 
-     * annotation element, the precedence order is undefined and 
+     * A JDBC URL.  If the <code>url</code>  annotation element contains a
+     * DataSource property that was also specified using the corresponding
+     * annotation element, the precedence order is undefined and
      * implementation specific.
      * @since 1.1
      */
@@ -206,7 +206,7 @@
     String serverName() default "localhost";
 
     /**
-     * Isolation level for connections. The Isolation level 
+     * Isolation level for connections. The Isolation level
      * must be one of the following:
      * <p>
      * <ul>
diff --git a/pom.xml b/pom.xml
index 0cf086a..9c53d0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,6 +31,8 @@
     <packaging>pom</packaging>
     <version>1.3.3-SNAPSHOT</version>
 
+    <inceptionYear>2004</inceptionYear>
+
     <name>Jakarta Annotations Parent POM</name>
     <description>Jakarta Annotations Parent POM</description>
 
