#22874 Added required JAXB dependency to make tests pass again

Signed-off-by: arjantijms <arjan.tijms@gmail.com>
diff --git a/appserver/appclient/client/acc-config/pom.xml b/appserver/appclient/client/acc-config/pom.xml
index af615e3..eb3e1f8 100755
--- a/appserver/appclient/client/acc-config/pom.xml
+++ b/appserver/appclient/client/acc-config/pom.xml
@@ -17,24 +17,39 @@
 
 -->
 
-<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/maven-v4_0_0.xsd">
+<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.main.appclient</groupId>
         <artifactId>client</artifactId>
         <version>6.0.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <artifactId>acc-config</artifactId>
     <packaging>glassfish-jar</packaging>
 
     <name>ACC Config Classes (JAXB)</name>
 
-    <!--
-        This module contains classes for the app client configuration
-        XML, generated using JAXB from sun-application-client-container_x_y.dtd.
-    -->
+    <developers>
+        <developer>
+            <id>tjquinn</id>
+            <name>Tim Quinn</name>
+            <url>http://blogs.sun.com/quinn</url>
+            <organization>Oracle, Inc.</organization>
+            <roles>
+                <role>lead</role>
+                <role>developer</role>
+            </roles>
+        </developer>
+    </developers>
 
+    <!-- 
+        This module contains classes for the app client configuration XML, 
+        generated using JAXB from sun-application-client-container_x_y.dtd. 
+    -->
     <properties>
         <extracted-dtd-root>temp</extracted-dtd-root>
         <extracted-dtd-top-level-directory>${extracted-dtd-root}/glassfish</extracted-dtd-top-level-directory>
@@ -42,25 +57,36 @@
         <dtd-for-jaxb-compilation>glassfish-application-client-container_1_3.dtd</dtd-for-jaxb-compilation>
         <config-dtd-file>*-application-client-container*.dtd</config-dtd-file>
         <added-test-classpath>${project.build.directory}/../${extracted-dtd-root}</added-test-classpath>
-<!--
-        <config-xsd-dir>src/main/resources</config-xsd-dir>
-        <config-xsd-file>sun-application-client-container_1_2.xsd</config-xsd-file>
--->
         <findbugs.exclude>${project.basedir}/exclude.xml</findbugs.exclude>
     </properties>
 
-    <developers>
-      <developer>
-            <id>tjquinn</id>
-            <name>Tim Quinn</name>
-            <url>http://blogs.sun.com/quinn</url>
-            <organization>Oracle, Inc.</organization>
-            <roles>
-		        <role>lead</role>
-                <role>developer</role>
-            </roles>
-        </developer>
-    </developers>
+    <dependencies>
+        <!-- 
+            We depend on the deployment/dtds module which contains the sun-application-client-container_1_2.dtd 
+            and glassfish-application-client-container_1_3.dtd. 
+            
+            We use that for generating JAXB classes but we do not want to package the DTD with the ACC module, nor 
+            do we want the ACC module depending on the deploymenet/dtds module at runtime.
+             
+            Note the scope is "provided" to indicate this. 
+        -->
+        <dependency>
+            <groupId>org.glassfish.main.deployment</groupId>
+            <artifactId>appserver-dtds</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+            <scope>provided</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+    </dependencies>
 
     <build>
         <resources>
@@ -71,47 +97,39 @@
                 </includes>
             </resource>
         </resources>
-
         <plugins>
-            <!--
-                Extracts the DTD(s) from the
-                deployment/dtds module into a temp file.
-                The "generate" phase will use it to create JAXB classes.
-                Unit tests use both DTDs for parse testing.
-            -->
+            <!-- Extracts the DTD(s) from the deployment/dtds module into 
+                a temp file. The "generate" phase will use it to create JAXB classes. Unit 
+                tests use both DTDs for parse testing. -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
-
                 <executions>
-                  <execution>
-                    <id>unpack-dtd</id>
-                    <phase>initialize</phase> <!-- make sure this is before generate -->
-                    <goals>
-                      <goal>unpack</goal>
-                    </goals>
-                    <configuration>
-                      <artifactItems>
-                        <artifactItem>
-                          <groupId>org.glassfish.main.deployment</groupId>
-                          <artifactId>appserver-dtds</artifactId>
-                          <version>${project.version}</version>
-                          <type>zip</type>
-                          <includes>**/${config-dtd-file}</includes>
-                          <overWrite>true</overWrite>
-                          <outputDirectory>${extracted-dtd-root}</outputDirectory>
-                        </artifactItem>
-                      </artifactItems>
-                    </configuration>
-                  </execution>
+                    <execution>
+                        <id>unpack-dtd</id>
+                        <phase>initialize</phase> <!-- make sure this is before generate -->
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.glassfish.main.deployment</groupId>
+                                    <artifactId>appserver-dtds</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>zip</type>
+                                    <includes>**/${config-dtd-file}</includes>
+                                    <overWrite>true</overWrite>
+                                    <outputDirectory>${extracted-dtd-root}</outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                        </configuration>
+                    </execution>
                 </executions>
-
-
             </plugin>
 
-            <!--
-                Generates JAXB classes based on the ACC configuration file DTD.
-            -->
+            <!-- Generates JAXB classes based on the ACC configuration file 
+                DTD. -->
             <plugin>
                 <groupId>org.jvnet.jaxb2.maven2</groupId>
                 <artifactId>maven-jaxb2-plugin</artifactId>
@@ -126,15 +144,9 @@
                 <configuration>
                     <schemaLanguage>DTD</schemaLanguage>
                     <schemaDirectory>${extracted-dtd-directory}</schemaDirectory>
-<!--
-                    <schemaDirectory>${config-xsd-dir}</schemaDirectory>
--->
                     <generatePackage>org.glassfish.appclient.client.acc.config</generatePackage>
                     <schemaIncludes>
                         <include>${dtd-for-jaxb-compilation}</include>
-<!--
-                        <include>${config-xsd-file}</include>
--->
                     </schemaIncludes>
                     <bindingDirectory>src/main/resources</bindingDirectory>
                     <bindingIncludes>
@@ -144,10 +156,8 @@
             </plugin>
 
 
-            <!--
-                Adds the temp directory (which holds the extracted DTD) to the
-                directories cleaned by the 'clean' phase.
-            -->
+            <!-- Adds the temp directory (which holds the extracted DTD) 
+                to the directories cleaned by the 'clean' phase. -->
             <plugin>
                 <artifactId>maven-clean-plugin</artifactId>
                 <executions>
@@ -156,41 +166,22 @@
                     </execution>
                 </executions>
                 <configuration>
-                  <filesets>
-                    <fileset>
-                      <directory>${extracted-dtd-root}</directory>
-                    </fileset>
-                  </filesets>
+                    <filesets>
+                        <fileset>
+                            <directory>${extracted-dtd-root}</directory>
+                        </fileset>
+                    </filesets>
                 </configuration>
             </plugin>
 
             <plugin>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
-                  <additionalClasspathElements>
-                    <additionalClasspathElement>${added-test-classpath}</additionalClasspathElement>
-                  </additionalClasspathElements>
+                    <additionalClasspathElements>
+                        <additionalClasspathElement>${added-test-classpath}</additionalClasspathElement>
+                    </additionalClasspathElements>
                 </configuration>
             </plugin>
         </plugins>
     </build>
-
-    <dependencies>
-        <!--
-            We depend on the deployment/dtds module which contains the
-            sun-application-client-container_1_2.dtd and
-            glassfish-application-client-container_1_3.dtd.  We use that for
-            generating JAXB classes but we do not want to package the DTD
-            with the ACC module, nor do we want the ACC module depending on
-            the deploymenet/dtds module at runtime.  Note the scope is "provided"
-            to indicate this.
-        -->
-        <dependency>
-            <scope>provided</scope>
-            <groupId>org.glassfish.main.deployment</groupId>
-            <artifactId>appserver-dtds</artifactId>
-            <type>zip</type>
-            <version>${project.version}</version>
-        </dependency>
-   </dependencies>
 </project>
diff --git a/appserver/appclient/client/acc-standalone/pom.xml b/appserver/appclient/client/acc-standalone/pom.xml
index b8bbda5..0d091c2 100755
--- a/appserver/appclient/client/acc-standalone/pom.xml
+++ b/appserver/appclient/client/acc-standalone/pom.xml
@@ -17,9 +17,7 @@
 
 -->
 
-<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/maven-v4_0_0.xsd">
-
-    <!--
+<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"><!--
         This module builds the free-standing JAR file for the app client
         container which can be run without using an OSGi implementation.
 
@@ -34,25 +32,20 @@
         archiver but would augment the generated Class-Path with the extra JARs.
         Perhaps later.
     -->
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>client</artifactId>
         <version>6.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <artifactId>gf-client</artifactId>
     <packaging>glassfish-jar</packaging>
+
     <name>Client library (including ACC)</name>
 
-    <properties>
-        <classpath.file>${project.build.directory}/tmp/classpath.txt</classpath.file>
-        <!--
-            Property settings used for adding parts to the Class-Path used to
-            be defined here.  They are now in the fixup.xml file instead so
-            the pom is less changeable.
-        -->
-    </properties>
     <developers>
       <developer>
             <id>tjquinn</id>
@@ -66,6 +59,29 @@
         </developer>
     </developers>
 
+    <properties>
+        <classpath.file>${project.build.directory}/tmp/classpath.txt</classpath.file>
+        <!--
+            Property settings used for adding parts to the Class-Path used to
+            be defined here.  They are now in the fixup.xml file instead so
+            the pom is less changeable.
+        -->
+    </properties>
+
+    <dependencies>
+        <!--
+            We specify the ACC's OSGi JAR as a dependency.
+            The maven-jar-plugin will do the work of finding the transitive
+            closure of it and the modules on which it depends to build the
+            accurate Class-Path for the manifest.
+        -->
+        <dependency>
+            <groupId>org.glassfish.main.appclient</groupId>
+            <artifactId>gf-client-module</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+   </dependencies>
+
     <build>
         <plugins>
             <!--
@@ -103,7 +119,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-jar-plugin</artifactId>
-                    <configuration>
+            <configuration>
 
               <!--
                   Includes only the agent class.  All the rest are in
@@ -157,18 +173,4 @@
           </plugin>
         </plugins>
     </build>
-
-    <dependencies>
-        <!--
-            We specify the ACC's OSGi JAR as a dependency.
-            The maven-jar-plugin will do the work of finding the transitive
-            closure of it and the modules on which it depends to build the
-            accurate Class-Path for the manifest.
-        -->
-        <dependency>
-            <groupId>org.glassfish.main.appclient</groupId>
-            <artifactId>gf-client-module</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-   </dependencies>
 </project>
diff --git a/appserver/appclient/client/acc/pom.xml b/appserver/appclient/client/acc/pom.xml
index c64201f..1bb851b 100755
--- a/appserver/appclient/client/acc/pom.xml
+++ b/appserver/appclient/client/acc/pom.xml
@@ -17,18 +17,34 @@
 
 -->
 
-<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/maven-v4_0_0.xsd">
+<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.main.appclient</groupId>
         <artifactId>client</artifactId>
         <version>6.0.0-SNAPSHOT</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <artifactId>gf-client-module</artifactId>
     <packaging>glassfish-jar</packaging>
-     <!-- the main artifact is the OSGi module JAR -->
+
+    <!-- the main artifact is the OSGi module JAR -->
     <name>Client OSGi module (including ACC)</name>
 
+    <developers>
+        <developer>
+            <id>tjquinn</id>
+            <name>Tim Quinn</name>
+            <url>http://blogs.sun.com/quinn</url>
+            <organization>Oracle, Inc.</organization>
+            <roles>
+                <role>lead</role>
+                <role>developer</role>
+            </roles>
+        </developer>
+    </developers>
+
     <!--
         This module creates the app client container in three artifacts:
             1. OSGi module for the ACC
@@ -44,7 +60,6 @@
         to remote clients and expand it, resulting in a single self-contained
         directory which would contain all the required JARs.
     -->
-
     <properties>
         <extracted-dtd-root>temp</extracted-dtd-root>
         <extracted-dtd-top-level-directory>${extracted-dtd-root}/glassfish</extracted-dtd-top-level-directory>
@@ -53,113 +68,16 @@
 
         <standalone.classifier>lib</standalone.classifier>
         <acc.osgi.module.classifier>module</acc.osgi.module.classifier>
-<!--
-        <config-xsd-dir>src/main/resources</config-xsd-dir>
-        <config-xsd-file>sun-application-client-container_1_2.xsd</config-xsd-file>
--->
         <findbugs.exclude>${project.basedir}/exclude.xml</findbugs.exclude>
     </properties>
 
-    <developers>
-      <developer>
-            <id>tjquinn</id>
-            <name>Tim Quinn</name>
-            <url>http://blogs.sun.com/quinn</url>
-            <organization>Oracle, Inc.</organization>
-            <roles>
-		        <role>lead</role>
-                <role>developer</role>
-            </roles>
-        </developer>
-    </developers>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                   <excludes>
-                    <exclude>**/.gitkeep_empty_dir</exclude>
-                </excludes>
-            </resource>
-            <!--
-                The next resource definition will include the DTDs and
-                schemas in the module so we can find them at runtime in the
-                client.  The dependency:unpack-dependency goal below will
-                by default deposit the unpacked contents into
-                target/dependency.  The .dtd and .xsd files are packaged into
-                their respective JARs in glassfish/lib, so we define that
-                combined directory as a resource
-                location so the .dtd and .xsd files will be packaged by default.
-                This is coordinated with the SaxParserHandlerBundled class
-                which resolves entities via the class path.
-            -->
-            <resource>
-                <directory>target/dependency/glassfish/lib/</directory>
-                <includes>
-                    <include>**/*.dtd</include>
-                    <include>**/*.xsd</include>
-                </includes>
-            </resource>
-        </resources>
-
-        <plugins>
-
-            <!--
-                Unpack the modules which contain the DTDs and schemas so
-                we can package them as resources.
-            -->
-            <plugin>
-                 <groupId>org.apache.maven.plugins</groupId>
-                 <artifactId>maven-dependency-plugin</artifactId>
-                 <executions>
-                   <execution>
-                     <id>unpack-dtds-and-schemas</id>
-                     <phase>generate-resources</phase>
-                     <goals>
-                       <goal>unpack-dependencies</goal>
-                     </goals>
-                     <configuration>
-                       <includeGroupIds>org.glassfish.main.deployment</includeGroupIds>
-                       <includeArtifactIds>appserver-schemas,appserver-dtds</includeArtifactIds>
-                       <includes>**/*.dtd,**/*.xsd</includes>
-                     </configuration>
-                   </execution>
-                  </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                    <configuration>
-
-                            <archive>
-
-                                <manifest>
-                                    <mainClass>org.glassfish.main.appclient.client.acc.AppClientCommand</mainClass>
-                                </manifest>
-                                <!--
-                                    It's discouraging to have to specify the class path
-                                    manually.  Ideally the plug-in would do this
-                                    for us, but the jar plug-in uses the name
-                                    of the modules including the version strings;
-                                    when the GlassFish modules are packaged into
-                                    the distributions the version strings are
-                                    stripped off.
-                                -->
-                            </archive>
-                        </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
     <dependencies>
         <dependency>
-                <groupId>org.glassfish.hk2</groupId>
-                <artifactId>hk2-core</artifactId>
+            <groupId>org.glassfish.hk2</groupId>
+            <artifactId>hk2-core</artifactId>
         </dependency>
 
-        <!--
-            required for annotation processing support
-        -->
+        <!-- required for annotation processing support -->
         <dependency>
             <groupId>org.glassfish.main.common</groupId>
             <artifactId>common-util</artifactId>
@@ -171,27 +89,30 @@
             <artifactId>ejb-full-container</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <!--
-            We depend on the deployment/dtds and deployment/schemas modules
-            but only at build-time.  We extract the DTD and schema files and
-            add them to the module JAR so they will be accessible at tuntime
-            on the class path.  Because we don't really rely on the zip files
-            at runtime, we use scope "provided" for the dependencies.
-        -->
+        
+        <!-- 
+            We depend on the deployment/dtds and deployment/schemas modules 
+            but only at build-time. 
+            
+            We extract the DTD and schema files and add them 
+            to the module JAR so they will be accessible at tuntime on the class path. 
+            
+            Because we don't really rely on the zip files at runtime, we use scope "provided" 
+            for the dependencies. -->
         <dependency>
-            <scope>provided</scope>
             <groupId>org.glassfish.main.deployment</groupId>
             <artifactId>appserver-dtds</artifactId>
-            <type>zip</type>
             <version>${project.version}</version>
+            <type>zip</type>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
-            <scope>provided</scope>
             <groupId>org.glassfish.main.deployment</groupId>
             <artifactId>appserver-schemas</artifactId>
-            <type>zip</type>
             <version>${project.version}</version>
+            <type>zip</type>
+            <scope>provided</scope>
         </dependency>
 
 
@@ -201,26 +122,20 @@
             <artifactId>container-common</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <!--
-            Required for AnnotationDetector, AnnotationScanner, PersistenceUnitDescriptor
-        -->
+        <!-- Required for AnnotationDetector, AnnotationScanner, PersistenceUnitDescriptor -->
         <dependency>
             <groupId>org.glassfish.main.deployment</groupId>
             <artifactId>dol</artifactId>
             <version>${project.version}</version>
         </dependency>
 
-        <!--
-            Required for security.
-        -->
+        <!-- Required for security. -->
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
             <artifactId>appclient.security</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <!--
-            Required for ClientNamingConfigurator
-        -->
+        <!-- Required for ClientNamingConfigurator -->
         <dependency>
             <groupId>org.glassfish.main.common</groupId>
             <artifactId>glassfish-api</artifactId>
@@ -240,13 +155,13 @@
             <version>${project.version}</version>
         </dependency>
 
-	 <dependency>
+        <dependency>
             <groupId>org.glassfish.main.connectors</groupId>
             <artifactId>work-management</artifactId>
             <version>${project.version}</version>
         </dependency>
 
- 	<dependency>
+        <dependency>
             <groupId>org.glassfish.main.connectors</groupId>
             <artifactId>connectors-inbound-runtime</artifactId>
             <version>${project.version}</version>
@@ -266,21 +181,19 @@
         </dependency>
 
 
-        <!--
-            Ken C. reports that eight ORB-related modules are needed, but
-            the one "orb" module directly or indirectly depends on the others
-            so I have just included it here.
-        -->
+        <!-- Ken C. reports that eight ORB-related modules are needed, but 
+            the one "orb" module directly or indirectly depends on the others so I have 
+            just included it here. -->
         <dependency>
             <groupId>org.glassfish.corba</groupId>
             <artifactId>glassfish-corba-orb</artifactId>
         </dependency>
 
         <dependency>
-            <scope>runtime</scope>
             <groupId>org.glassfish.main.orb</groupId>
             <artifactId>orb-iiop</artifactId>
             <version>${project.version}</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>
@@ -295,83 +208,81 @@
             <version>${project.version}</version>
         </dependency>
 
-     <dependency>
-         <groupId>org.glassfish.main.transaction</groupId>
-         <artifactId>jts</artifactId>
-         <version>${project.version}</version>
-     </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.transaction</groupId>
+            <artifactId>jts</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-     <dependency>
-         <scope>runtime</scope>
-         <groupId>org.glassfish.main.jms</groupId>
-         <artifactId>jms-core</artifactId>
-         <version>${project.version}</version>
-     </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.jms</groupId>
+            <artifactId>jms-core</artifactId>
+            <version>${project.version}</version>
+            <scope>runtime</scope>
+        </dependency>
 
-     <dependency>
-         <scope>runtime</scope>
-         <groupId>jakarta.jms</groupId>
-         <artifactId>jakarta.jms-api</artifactId>
-     </dependency>
+        <dependency>
+            <groupId>jakarta.jms</groupId>
+            <artifactId>jakarta.jms-api</artifactId>
+            <scope>runtime</scope>
+        </dependency>
 
-     <!-- for EclipseLink support -->
-     <dependency>
-         <type>pom</type>
-         <scope>runtime</scope>
-         <groupId>org.glassfish.main.persistence</groupId>
-         <artifactId>eclipselink-wrapper</artifactId>
-         <version>${project.version}</version>
-     </dependency>
+        <!-- for EclipseLink support -->
+        <dependency>
+            <groupId>org.glassfish.main.persistence</groupId>
+            <artifactId>eclipselink-wrapper</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>runtime</scope>
+        </dependency>
 
-     <dependency>
-         <groupId>org.glassfish.main.persistence</groupId>
-         <artifactId>jpa-container</artifactId>
-         <version>${project.version}</version>
-     </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.persistence</groupId>
+            <artifactId>jpa-container</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-     <dependency>
-         <scope>runtime</scope>
-         <groupId>org.glassfish.main.persistence.cmp</groupId>
-         <artifactId>cmp-internal-api</artifactId>
-         <version>${project.version}</version>
-     </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.persistence.cmp</groupId>
+            <artifactId>cmp-internal-api</artifactId>
+            <version>${project.version}</version>
+            <scope>runtime</scope>
+        </dependency>
 
-     <!-- explicit dependencies for endorsed JARs the ACC needs -->
+        <!-- explicit dependencies for endorsed JARs the ACC needs -->
 
-     <!-- endorsed: jakarta.annotation-api.jar -->
-     <dependency>
-         <groupId>jakarta.annotation</groupId>
-         <artifactId>jakarta.annotation-api</artifactId>
-     </dependency>
+        <!-- endorsed: jakarta.annotation-api.jar -->
+        <dependency>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
+        </dependency>
 
-     <!-- endorsed: jakarta.xml.bind-api.jar -->
-     <dependency>
-         <groupId>jakarta.xml.bind</groupId>
-         <artifactId>jakarta.xml.bind-api</artifactId>
-     </dependency>
+        <!-- endorsed: jakarta.xml.bind-api.jar -->
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
 
-     <dependency>
-         <groupId>com.sun.xml.bind</groupId>
-         <artifactId>jaxb-osgi</artifactId>
-     </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
 
-     <!-- endorsed: webservices-api-osgi.jar -->
-     <dependency>
-        <groupId>org.glassfish.metro</groupId>
-        <artifactId>webservices-api-osgi</artifactId>
-     </dependency>
+        <!-- endorsed: webservices-api-osgi.jar -->
+        <dependency>
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>webservices-api-osgi</artifactId>
+        </dependency>
 
-     <!-- end of endorsed JAR dependencies -->
+        <!-- end of endorsed JAR dependencies -->
 
-     <!-- JAXR -JSR-93 Support-->
-     <dependency>
-         <groupId>jakarta.xml.registry</groupId>
-         <artifactId>jakarta.xml.registry-api</artifactId>
-     </dependency>
+        <!-- JAXR -JSR-93 Support -->
+        <dependency>
+            <groupId>jakarta.xml.registry</groupId>
+            <artifactId>jakarta.xml.registry-api</artifactId>
+        </dependency>
 
-        <!--
-        This is needed because it provides the sniffer/detector/moduletype
-        -->
+        <!-- This is needed because it provides the sniffer/detector/moduletype -->
         <dependency>
             <groupId>org.glassfish.main.appclient.server</groupId>
             <artifactId>appclient-connector</artifactId>
@@ -379,46 +290,118 @@
             <scope>runtime</scope>
         </dependency>
 
-      <!--
-        The next two mail-related dependencies allow mail session look-up
-        and use from clients.
-      -->
-      <dependency>
-          <scope>runtime</scope>
-          <groupId>org.glassfish.main.resources</groupId>
-          <artifactId>javamail-connector</artifactId>
-          <version>${project.version}</version>
-      </dependency>
-      <dependency>
-          <scope>runtime</scope>
-          <groupId>org.glassfish.main.resources</groupId>
-          <artifactId>javamail-runtime</artifactId>
-          <version>${project.version}</version>
-      </dependency>
+        <!-- The next two mail-related dependencies allow mail session look-up 
+            and use from clients. -->
+        <dependency>
+            <groupId>org.glassfish.main.resources</groupId>
+            <artifactId>javamail-connector</artifactId>
+            <version>${project.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.resources</groupId>
+            <artifactId>javamail-runtime</artifactId>
+            <version>${project.version}</version>
+            <scope>runtime</scope>
+        </dependency>
 
-      <!-- as of EE 7, JSON needs to be available to clients -->
-      <dependency>
-        <scope>runtime</scope>
-        <groupId>org.glassfish</groupId>
-        <artifactId>jakarta.json</artifactId>
-      </dependency>
+        <!-- as of EE 7, JSON needs to be available to clients -->
+        <dependency>
+            <groupId>org.glassfish</groupId>
+            <artifactId>jakarta.json</artifactId>
+            <scope>runtime</scope>
+        </dependency>
 
-      <dependency>
-        <scope>runtime</scope>
-        <groupId>org.eclipse</groupId>
-        <artifactId>yasson</artifactId>
-      </dependency>
+        <dependency>
+            <groupId>org.eclipse</groupId>
+            <artifactId>yasson</artifactId>
+            <scope>runtime</scope>
+        </dependency>
 
-      <!-- CDI support -->
-      <dependency>
-          <groupId>org.jboss.weld.se</groupId>
-          <artifactId>weld-se-shaded</artifactId>
-      </dependency>
-      <dependency>
-          <groupId>javax.enterprise</groupId>
-          <artifactId>cdi-api</artifactId>
-          <scope>compile</scope>
-      </dependency>
+        <!-- CDI support -->
+        <dependency>
+            <groupId>org.jboss.weld.se</groupId>
+            <artifactId>weld-se-shaded</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.enterprise</groupId>
+            <artifactId>cdi-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <excludes>
+                    <exclude>**/.gitkeep_empty_dir</exclude>
+                </excludes>
+            </resource>
+            
+            <!-- The next resource definition will include the DTDs and schemas 
+                in the module so we can find them at runtime in the client. 
+                
+                The dependency:unpack-dependency 
+                goal below will by default deposit the unpacked contents into target/dependency. 
+                The .dtd and .xsd files are packaged into their respective JARs in glassfish/lib, 
+                so we define that combined directory as a resource location so the .dtd and 
+                .xsd files will be packaged by default. 
+                
+                This is coordinated with the SaxParserHandlerBundled 
+                class which resolves entities via the class path. -->
+            <resource>
+                <directory>target/dependency/glassfish/lib/</directory>
+                <includes>
+                    <include>**/*.dtd</include>
+                    <include>**/*.xsd</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+
+            <!-- Unpack the modules which contain the DTDs and schemas so 
+                we can package them as resources. -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>unpack-dtds-and-schemas</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>unpack-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <includeGroupIds>org.glassfish.main.deployment</includeGroupIds>
+                            <includeArtifactIds>appserver-schemas,appserver-dtds</includeArtifactIds>
+                            <includes>**/*.dtd,**/*.xsd</includes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+
+                    <archive>
+
+                        <manifest>
+                            <mainClass>org.glassfish.main.appclient.client.acc.AppClientCommand</mainClass>
+                        </manifest>
+                        <!-- 
+                            It's discouraging to have to specify the class 
+                            path manually. 
+                            
+                            Ideally the plug-in would do this for us, but the jar plug-in 
+                            uses the name of the modules including the version strings; when the GlassFish 
+                            modules are packaged into the distributions the version strings are stripped 
+                            off. -->
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/appserver/appclient/client/appclient-scripts/pom.xml b/appserver/appclient/client/appclient-scripts/pom.xml
index cf0865f..a92ed0f 100644
--- a/appserver/appclient/client/appclient-scripts/pom.xml
+++ b/appserver/appclient/client/appclient-scripts/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +17,9 @@
 
 -->
 
-<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/maven-v4_0_0.xsd">
-
+<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.main.appclient</groupId>
         <artifactId>client</artifactId>
@@ -26,8 +27,6 @@
     </parent>
 
     <artifactId>appclient-scripts</artifactId>
-    <name>GlassFish appclient scripts</name>
-
     <!--
         The comments below were copied from the ejb-timer-databases module.  
         They are very helpful so it seemed like a good idea to leave them here also.
@@ -53,10 +52,10 @@
       is bundled in GF, the corresponding fragment will be also added, thanks to
       the transitive dependency handling in Maven.
     -->
-
     <packaging>distribution-fragment</packaging>
 
-<!--
+    <name>GlassFish appclient scripts</name>
+    <!--
 
     <packaging>pom</packaging>
 -->     
@@ -70,5 +69,4 @@
 
          The following section shows how you can do this.
        -->
-
 </project>
diff --git a/appserver/appclient/client/pom.xml b/appserver/appclient/client/pom.xml
index 07ab11c..68f2472 100755
--- a/appserver/appclient/client/pom.xml
+++ b/appserver/appclient/client/pom.xml
@@ -17,17 +17,21 @@
 
 -->
 
-<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/maven-v4_0_0.xsd">
+<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.main</groupId>
         <artifactId>appclient</artifactId>
         <version>6.0.0-SNAPSHOT</version>
     </parent>
+
     <groupId>org.glassfish.main.appclient</groupId>
     <artifactId>client</artifactId>
     <packaging>pom</packaging>
+
     <name>App Client - client-side modules</name>
+
     <modules>
         <module>appclient-scripts</module>
         <module>acc-config</module>