--- title: "How to Install Retrace for Java on Windows" slug: "java-apm-on-windows" description: "Learn how to install the Java APM Profiler in your Linux Java application. Enable the Java Profiler and configure your application for monitoring." updated: 2021-06-04T19:43:43Z published: 2021-06-04T19:43:43Z canonical: "docs.stackify.com/java-apm-on-windows" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.stackify.com/llms.txt > Use this file to discover all available pages before exploring further. # Java APM on Windows This document details how to install the Java APM Profiler in your Java application running on Linux. ## Prerequisite Follow the [Retrace Windows Install](https://docs.stackify.com/docs/net-agent-installation-overview) Guide. The steps to **Enable Retrace** and **Restart IIS** in the Windows Installation guide can be ignored for Java applications. The Java Profiler is configured differently. ## Step 1 - Enable the Java Profiler The default location for the profiler is `C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar`. Make note of the path and then enable the **`javaagent`** option within your JVM application server: #### Tomcat Modify the **catalina.bat** file located in the installation folder of Tomcat: `set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"` #### Wildfly / JBoss Modify the **standalone.conf.bat** file: `set JAVA_OPTS=%JAVA_OPTS% -javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"` For JBoss AS7, you also need to include an additional parameter on **JAVA_OPTS**: `JAVA_OPTS="$JAVA_OPTS -javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=com.stackify.apm"` #### Jetty Include the following line to the Jetty start command between **java** and **-jar %JETTY_HOME%/start.jar**: `-javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"` #### Glassfish Add the following line to the **java-config** section of the Glassfish **domain.xml file**: `<jvm-options>-javaagent:C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar</jvm-options>` #### WebSphere Create a text file named **jvm.options** under **WEBSPHERE/usr/servers/SERVER** with: `-javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"` Depending on your preferences, you may configure a single JVM or all Liberty JVMs with your options file. To apply these settings to a **single** server, save **jvm.options** at `${server.config.dir}/jvm.options` To apply these changes to **all Liberty JVMs**, save **jvm.options** at:`${wlp.install.dir}/etc/jvm.options`. This will take effect for all JVMs that do not have a locally defined **jvm.options** file. #### Play Framework 1.2.x - 1.4.x Before running your application, enter the following command: `export JAVA_OPTS='-javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"'` #### Play Framework 2.x+ Run the application with the following argument: `-J-javaagent:"C:\Program Files (x86)\stackify\java\lib\stackify-java-apm.jar"` ## Step 2 - Configure Application Configure how your Java application is identified by using a properties file or passing in java system properties. #### Properties File Option Create a **stackify-api.properties** file inside your application's classpath with the following contents: ``` stackify.application=My Java Application stackify.environment=Production ``` #### Java System Properties Option **Application** and **Enviornment** can be setup by passing in **Java System Properties** via: ``` java -DSTACKIFY_APPLICATION_NAME="My Java Application" -DSTACKIFY_ENVIRONMENT_NAME="Production" ... ``` --- Restart Your Web Server After modifying your configuration, you must now restart your application server.