Setup and Configuration

## 4 Setup and Configuration

Note | The Jakarta EE Specification process provides for any number of compatible implementations. As additional implementations become available, refer to project or product documentation from those vendors for specific TCK setup and operational guidance.

Before proceeding with the instructions in this chapter, be sure to install all required software, as described in Chapter 3, "Installation."

After completing the instructions in this chapter, proceed to Chapter 5, "Executing Tests," for instructions on running the Faces TCK.

### 4.1 Configuring Your Environment to Run the TCK Against the Compatible Implementation (CI)

After configuring your environment as described in this section, continue with the instructions in Chapter 5, "Executing Tests."

Note | In these instructions, variables in angle brackets need to be expanded for each platform. For example, `<JAVA_HOME>` becomes `$JAVA_HOME` on Solaris/Linux and `%JAVA_HOME%` on Windows. In addition, the forward slashes (`/`) used in all of the examples need to be replaced with backslashes (`\`) for Windows. Finally, be sure to use the appropriate separator for your operating system when specifying multiple path entries (`;` on Windows, `:` on UNIX/Linux). On Windows, you must escape any backslashes with an extra backslash in path separators used in any of the following properties, or use forward slashes as a path separator instead.

1. Set the following environment variables in your shell environment:

   1. `JAVA_HOME` to the directory in which Java SE 11 is installed

   2. `M2_HOME` to the directory in which the Apache Maven build tool is installed.

   3. `JAVAEE_HOME` to the directory in which the Faces 4.0 CI has been installed

   4. `PATH` to include the following directories: `JAVA_HOME/bin`, and `M2_HOME/bin`

2. Set the following System properties in pom.xml:

   1. Set the `webServerHost` property to the name of the host on which Jakarta EE 10.0 CI is running.
      The default setting is `localhost`.

   2. Set the `webServerPort` property to the port number of the host on which Jakarta EE 10.0 CI is running.
      The default setting is `8080`.

   3. Set the `web.home` property to the installation directory of Jakarta EE 10.0 CI.

3. Set the below jars to the classpath

   1. JAR file for the Faces 4.0 API.
      eg. `${web.home}/modules/jakarta.faces-api.jar`.

   2. Arquillian JAR arquillian-junit5-container Maven cordinates :

                <dependency>
                      <groupId>org.jboss.arquillian.junit5</groupId>
                      <artifactId>arquillian-junit5-container</artifactId>
                      <version>1.7.0.Alpha10</version>
                </dependency>

   3. JUnit 4 jars (4.13.2) Maven cordinates :

                 <dependency>
                    <groupId>org.junit</groupId>
                    <artifactId>junit-bom</artifactId>
                    <version>4.13.2</version>
                    <type>pom</type>
                    <scope>import</scope>
                 </dependency>

   4. sigtest-maven-plugin (1.5) to run the signature tests. Maven cordinates :

                <dependency>
                      <groupId>org.netbeans.tools</groupId>
                      <artifactId>sigtest-maven-plugin</artifactId>
                      <version>1.5</version>
                  </dependency>

   5. Eclipse Mojarra 4.0 CI jars
      For eg, if you are using the Eclipse Mojarra 4.0 CI below jars need to be added to Classpath

       ${web.home}/modules/jakarta.inject-api.jar:
       ${web.home}/modules/jakarta.annotation-api.jar:
       ${web.home}/modules/jakarta.xml.bind-api.jar:
       ${web.home}/modules/jakarta.activation.jar:

### 4.2 Configuring Your Environment to Run the TCK Against the Vendor Implementation (VI)

Follow the instructions above, customized as necessary for the Vendor implementation. A custom deployment handler will need to be created for the Vendor implementation.

Copyright © 2017, 2022 Oracle and/or its affiliates. All rights reserved.