diff --git a/build.properties b/build.properties
index 65491aecdab54f1beda85d81810eeac4bea8ee33..951eab3513ed7af233eb3ac5827cf31d2b332328 100644
--- a/build.properties
+++ b/build.properties
@@ -57,6 +57,7 @@ dist.jar=${dist.dir}/${product.shortname}-${product.Version}.jar
 dist.src.jar=${dist.dir}/${product.shortname}-${product.Version}-src.jar
 docs.dir=docs
 dist.javadoc.dir=${docs.dir}/javadoc
+dist.javadoc.jar=${dist.dir}/${product.shortname}-${product.Version}-javadoc.jar
 oracle.javadoc.link=https://docs.oracle.com/en/java/javase/23/docs/api/index.html
 jjdoc.vrml.dir=${src.java.dir}/org/web3d/parser/vrml97/doc-files
 jjdoc.x3d.dir=${src.java.dir}/org/web3d/parser/x3d/doc-files
diff --git a/build.xml b/build.xml
index 09840384ed8d0436f005b9e16c581cca1f5557fb..843f8266961c81ea29d3ba7ffe1abbc13ef5edda 100644
--- a/build.xml
+++ b/build.xml
@@ -349,7 +349,7 @@ POSSIBILITY OF SUCH DAMAGE.
     -->
 
     <target name="jar.all"
-            depends="dist,jar,jar.apps,jar.src"
+            depends="dist,jar,jar.apps,jar.src,jar.javadoc"
             description="Build all Xj3D application jar files">
         <echo message="TODO for Xj3D release, push updated jar files to savage.nps.edu"/>
     </target>
@@ -385,12 +385,12 @@ POSSIBILITY OF SUCH DAMAGE.
         </jar>
     </target>
 
-    <target name="jar.src"
-            depends="build,compile"
-            description="Build the Xj3D src distribution jar files">
+    <target name="jar.apps"
+            depends="build"
+            description="Build the Xj3D browser and cadfilter application jar files">
 
-        <!-- Jar up core and apps source files for debugging reference -->
-        <jar destfile="${dist.src.jar}">
+        <jar destfile="${browser.jar}"
+             basedir="${browser.classes.dir}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -411,13 +411,10 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/GPL.txt"/>
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
-
-            <fileset dir="${src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
         </jar>
 
-        <jar destfile="${browser.src.jar}">
+        <jar destfile="${cadfilter.jar}"
+             basedir="${cadfilter.classes.dir}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -438,13 +435,40 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/GPL.txt"/>
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
+        </jar>
 
-            <fileset dir="${browser.src.java.dir}">
-                <include name="**/*.java"/>
-            </fileset>
+        <copy file="apps/replica/src/java/xj3d/replica/images/Xj3dRenderCaptureFailed.png" todir="${replica.classes.dir}/xj3d/replica/images" verbose="true" overwrite="true"/>
+        <jar destfile="${replica.jar}"
+             basedir="${replica.classes.dir}">
+            <manifest>
+                <attribute name="Specification-Version"
+                           value="${product.Version}"/>
+                <attribute name="Specification-Vendor"
+                           value="${spec.vendor}"/>
+                <attribute name="Implementation-Title"
+                           value="${product.Name}"/>
+                <attribute name="Built-By"
+                           value="${my.name} &lt;${my.email}&gt;"/>
+                <attribute name="Implementation-Version"
+                           value="${product.Version} built on ${TODAY_US}"/>
+                <attribute name="Implementation-Vendor"
+                           value="${impl.vendor}"/>
+                <attribute name="Implementation-Vendor-Id"
+                           value="${impl.vendor-id}"/>
+            </manifest>
+            <metainf file="${docs.dir}/BSD.txt"/>
+            <metainf file="${docs.dir}/GPL.txt"/>
+            <metainf file="${docs.dir}/LGPL.txt"/>
+            <metainf file="${docs.dir}/LICENSE"/>
         </jar>
+    </target>
 
-        <jar destfile="${cadfilter.src.jar}">
+    <target name="jar.src"
+            depends="init"
+            description="Build the Xj3D src distribution jar files">
+
+        <!-- Jar up core and apps source files for debugging reference -->
+        <jar destfile="${dist.src.jar}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -466,12 +490,12 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
 
-            <fileset dir="${cadfilter.src.java.dir}">
+            <fileset dir="${src.java.dir}">
                 <include name="**/*.java"/>
             </fileset>
         </jar>
 
-        <jar destfile="${replica.src.jar}">
+        <jar destfile="${browser.src.jar}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -493,19 +517,12 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
 
-            <fileset dir="${replica.src.java.dir}">
+            <fileset dir="${browser.src.java.dir}">
                 <include name="**/*.java"/>
             </fileset>
         </jar>
 
-    </target>
-
-    <target name="jar.apps"
-            depends="build,compile.apps"
-            description="Build the Xj3D browser and cadfilter application jar files">
-
-        <jar destfile="${browser.jar}"
-             basedir="${browser.classes.dir}">
+        <jar destfile="${cadfilter.src.jar}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -526,10 +543,13 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/GPL.txt"/>
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${cadfilter.src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
         </jar>
 
-        <jar destfile="${cadfilter.jar}"
-             basedir="${cadfilter.classes.dir}">
+        <jar destfile="${replica.src.jar}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -550,11 +570,19 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/GPL.txt"/>
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${replica.src.java.dir}">
+                <include name="**/*.java"/>
+            </fileset>
         </jar>
+    </target>
 
-        <copy file="apps/replica/src/java/xj3d/replica/images/Xj3dRenderCaptureFailed.png" todir="${replica.classes.dir}/xj3d/replica/images" verbose="true" overwrite="true"/>
-        <jar destfile="${replica.jar}"
-             basedir="${replica.classes.dir}">
+    <target name="jar.javadoc"
+            depends="javadoc"
+            description="Build the Xj3D API jar file">
+
+        <!-- Jar up core and apps source files for debugging reference -->
+        <jar destfile="${dist.javadoc.jar}">
             <manifest>
                 <attribute name="Specification-Version"
                            value="${product.Version}"/>
@@ -575,9 +603,12 @@ POSSIBILITY OF SUCH DAMAGE.
             <metainf file="${docs.dir}/GPL.txt"/>
             <metainf file="${docs.dir}/LGPL.txt"/>
             <metainf file="${docs.dir}/LICENSE"/>
+
+            <fileset dir="${dist.javadoc.dir}"/>
         </jar>
     </target>
 
+
     <!--
     =================
     RUN CALLS SECTION
diff --git a/jars/README.html b/jars/README.html
index 1d59884cf60c75e9a45f13d24c7ca0e9702cfe34..f6be3e050aadc1ab0a7e38217a82454f3bfa9508 100644
--- a/jars/README.html
+++ b/jars/README.html
@@ -27,32 +27,38 @@
             <a href="jhall.jar">jhall.jar</a>
         </li>
         <li>
-            <a href="jogamp-fat.jar">jogamp-fat.jar"</a>
+            <a href="jogamp-fat.jar">jogamp-fat.jar</a>
         </li>
         <li>
-            <a href="xj3d-2.3-nps.jar">xj3d-2.3-nps.jar</a>
+            <a href="xj3d-2.3-3rdparty-nps.jar">xj3d-2.3-3rdparty-nps.jar</a>
         </li>
         <li>
-            <a href="xj3d-2.3-3rdparty-nps.jar">xj3d-2.3-3rdparty-nps.jar</a>
+            <a href="xj3d-2.3-nps-javadoc.jar">xj3d-2.3-nps-javadoc.jar</a>
         </li>
         <li>
-            <a href="xj3d.browser_2.3.0-nps.jar">xj3d.browser_2.3.0-nps.jar</a>
+            <a href="xj3d-2.3-nps-src.jar">xj3d-2.3-nps-src.jar</a>
+        </li>
+        <li>
+            <a href="xj3d-2.3-nps.jar">xj3d-2.3-nps.jar</a>
         </li>
         <li>
             <a href="xj3d.browser_2.3.0-nps-src.jar">xj3d.browser_2.3.0-nps-src.jar</a>
         </li>
         <li>
-            <a href="xj3d.cadfilter_2.3.0-nps.jar">xj3d.cadfilter_2.3.0-nps.jar</a>
+            <a href="xj3d.browser_2.3.0-nps.jar">xj3d.browser_2.3.0-nps.jar</a>
         </li>
         <li>
             <a href="xj3d.cadfilter_2.3.0-nps-src.jar">xj3d.cadfilter_2.3.0-nps-src.jar</a>
         </li>
         <li>
-            <a href="xj3d.replica_2.3.0-nps.jar">xj3d.replica_2.3.0-nps.jar</a>
+            <a href="xj3d.cadfilter_2.3.0-nps.jar">xj3d.cadfilter_2.3.0-nps.jar</a>
         </li>
         <li>
             <a href="xj3d.replica_2.3.0-nps-src.jar">xj3d.replica_2.3.0-nps-src.jar</a>
         </li>
+        <li>
+            <a href="xj3d.replica_2.3.0-nps.jar">xj3d.replica_2.3.0-nps.jar</a>
+        </li>
         <li>
             <a href="license.html">license.html</a>
             and
diff --git a/jars/xj3d-2.3-nps-javadoc.jar b/jars/xj3d-2.3-nps-javadoc.jar
new file mode 100644
index 0000000000000000000000000000000000000000..7b0715107097a32f4f620775fcabd2bde1b6611a
Binary files /dev/null and b/jars/xj3d-2.3-nps-javadoc.jar differ