2016-09-28 6 views
2

Я пробовал под способами, но ничего не работает ... Я пытаюсь получить доступ к jmx удаленно с сервера.Как добавить VM args с помощью pom.xml плагина

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

для чего вы хотите добавить vmargs? Компиляция, тестирование, запуск приложения? С какой целью вы делаете это? Вы должны показать больше своего пом. –

ответ

6

Вы можете установить параметры Java для Maven в разных точках и уровня (глобально или по конфигурации плагинов):

конфигурации плагина: только для компиляции
Используя конфигурацию Maven Compiler Plugin для компиляции кода приложения и тестового кода, вы можете установить необходимые параметры Xmx, Xms, Xss через compileArgs con фигура, доступно как для compile, так и для testCompile целей. Официальный пример доступен here и на других ответах SO, таких как this one. Пример также показан ниже.

конфигурация плагина: только для выполнения тестов
Использования конфигурации Maven Surefire Plugin для испытаний казней, вы можете установить необходимые параметры Java, которые будут использоваться во время выполнения с помощью записи конфигурации argLine в test цели. Официальный пример доступен here. Пример также показан ниже на третьей точке.

конфигурации плагина: с помощью свойств (и профили)
Вы можете объединить эти два варианта выше (в случае общих опций Java) в качестве значения свойства для передачи как запись конфигурации compileArgs и argLine или имеют различные свойства за конфигурации (в соответствии с вашими потребностями).

<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> 
     <compilerArgs> 
      <arg>${jvm.options}</arg> 
     </compilerArgs> 
    </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> 
[...] 

Использование свойств дает вам также два дополнительных преимущества (на верхней части централизации): вы можете использовать профили затем настроить его на основе различных желанных поведения (и пример в этом SO answer), и вы можете изменить их с помощью команды а также:

mvn clean install -Djvm.options=-Xmx512 

 Смежные вопросы

  • Нет связанных вопросов^_^