javamavenpom.xmlvmargs

How to add VM args using pom.xml plugin


I have tried below ways but nothing work... i am trying to access jmx remotely from server.

         <jvmArgs>
         <jvmArg>-Dcom.sun.management.jmxremote.port=9999</jvmArg>
        <jvmArg>-Dcom.sun.management.jmxremote.authenticate=false</jvmArg>
          <jvmArg>-Dcom.sun.management.jmxremote.ssl=false</jvmArg>
        </jvmArgs>

        <!-- <systemPropertyVariables> 
                                   <com.sun.management.jmxremote.port>9999</com.sun.management.jmxremote.port> 
                       <com.sun.management.jmxremote.authenticate>false</com.sun.management.jmxremote.a uthenticate> 
                     <com.sun.management.jmxremote.ssl>false</com.sun.management.jmxremote.ssl> 
                 </systemPropertyVariables> -->

                 <!-- <jvmArguments> 
                 <jvmArgument>- Dcom.sun.management.jmxremote.port=9999</jvmArgument> 
                 <jvmArgument>- Dcom.sun.management.jmxremote.authenticate=false</jvmArgument> 
                 <jvmArgument>- Dcom.sun.management.jmxremote.ssl=false</jvmArgument> 
                </jvmArguments> -->

I also tried

 <options>
            <option>-Dcom.sun.management.jmxremote.port=9999</option> 
            <option>-Dcom.sun.management.jmxremote.authenticate=false</option> 
            <option>-Dcom.sun.management.jmxremote.ssl=false</option> 
            </options>

Solution

  • You can do this in few different ways.

    Using the Maven Compiler Plugin
    You can use the compilerArgs property of the plugin to specify the Xmx, Xms, Xss VM arguments.
    Below is an example

    <project>
        [...]
        <build>
          [...]
          <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>3.10.1</version>
               <configuration>
                 <compilerArgs>
                      <arg>-Xmx512M</arg>   // You can provide comma separated values if you have more than one
                 </compilerArgs>
              </configuration>
            </plugin>
           </plugins>
           [...]
        </build>
        [...]
    </project>
    

    Refer to the Maven Compiler Plugin for more details.

    Using the Maven Surefire Plugin
    You can use the argLine property of the plugin to specify the Xmx, Xms, Xss VM arguments.
    Below is an example

    </project>    
        [...]
        <build>
          [...]
          <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>3.0.0-M7</version>
               <configuration>
                    <argLine>-Xmx512M</argLine>   // You can provide comma separated values if you have more than one
               </configuration>
             </plugin>
           </plugins>
           [...]
        </build>
        [...]
    </project>
    

    Refer to the Maven Surefire Plugin for more details.