web-dev-qa-db-ja.com

VM argsをpom.xmlプラグインを使用して追加する方法

以下の方法を試しましたが、何も動作しません...サーバーからリモートでjmxにアクセスしようとしています。

         <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> -->

私も試しました

 <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>
6
Rahul sharma

Java Mavenのオプションをさまざまなポイントとレベルで設定できます(グローバルまたはプラグイン設定を介して):

プラグイン構成:コンパイル用
アプリケーションコードとテストコードをコンパイルするために Mavenコンパイラプラグイン 構成を使用して、両方に使用できるcompileArgs構成エントリを介して必要なXmx、Xms、Xssオプションを設定できます compile および testCompile ゴール。公式の例 ここ と他のSO これ のような回答があります。例も以下に示します。

プラグイン構成:テスト実行のみ
Maven Surefire Plugin 構成を使用してテストを実行すると、必要なJavaオプションを実行時にargLine構成エントリを使用して設定できます) test ゴール。公式の例が利用可能 here 。3番目のポイントの例も以下に示されています。

プラグイン構成:プロパティ(およびプロファイル)経由
上記の2つのオプションを組み合わせることができます(一般的なJavaオプション)の場合)compileArgsargLineの両方に渡すプロパティ値として構成エントリまたは構成ごとに異なるプロパティ(必要に応じて)。

<property>
      <jvm.options>-Xmx256M</jvm.options>
</property>

[...]
<build>
  [...]
  <plugins>
    <plugin>
       <groupId>org.Apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>3.3</version>
       <configuration>
         <compilerArgs>
              <arg>${jvm.options}</arg>
         </compilerArgs>
      </configuration>
    </plugin>

    <plugin>
       <groupId>org.Apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <version>2.19.1</version>
       <configuration>
            <argLine>${jvm.options}</argLine>
       </configuration>
     </plugin>
   </plugins>
   [...]
</build>
[...]

プロパティを使用すると、2つの追加の利点(一元化に加えて)も得られます。プロファイルを使用して、さまざまな目的の動作に基づいてパーソナライズできます(この例では SO answer )。同様にコマンドライン:

mvn clean install -Djvm.options=-Xmx512
19
RITZ XAVI