Как установить весенний профиль на плагин tomcat7-maven?

Как установить активный весенний профиль или плагин tomcat maven? Я хочу получить активные профили во время выполнения из среды, но всегда получаю пустой массив.

Я попытался добавить эти системные свойства в конфигурацию плагина в pom.xml:

<JAVA_OPTS>-Dspring.profiles.active=local</JAVA_OPTS>

or

<name>spring.profiles.active</name>
<value>locale</value>

Я пытаюсь добавить это в context.xml:

<environment name="spring.profiles.active" value="local" type="java.lang.String" override="false"/>

Но до сих пор нет активного профиля...

Моя среда: Java 6, tomcat7-maven-plugin версии 2.2, Netbeans 8.0.2, Spring 3.1.1.RELEASE.

Мой плагин pom.xml tomcat выглядит так:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>

    <configuration>
        <!-- http port -->
        <port>8084</port>
        <contextFile>${basedir}/src/main/resources-local/context.xml</contextFile>
        <systemProperties>
            <JAVA_OPTS>-Dspring.profiles.active=local</JAVA_OPTS>
        </systemProperties>
    </configuration>
    <executions>
        <execution>
            <id>tomcat-run</id>
            <goals>
                <goal>run-war</goal>
            </goals>
            <phase>package</phase>
        </execution>
    </executions>
<dependencies>

person Michal    schedule 11.03.2015    source источник


Ответы (1)


Документация Tomcat 7 показывает другой синтаксис для свойств системы, как показано ниже. Итак, попробуйте сделать это следующим образом:

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
  <systemProperties>
    <example.value.1>alpha</example.value.1>
    <example.value.2>beta</example.value.2>
  </systemProperties>
</configuration>
</plugin>
person minion    schedule 11.03.2015
comment
Таким образом, я могу прочитать локальное значение, используя System.getProperty(spring.profile.active), но environment.getActiveProfiles() по-прежнему возвращает пустой массив... Это частичное решение, возможно, этого будет достаточно для моей цели... Спасибо - person Michal; 11.03.2015
comment
@CodeRunner, ваши правки были неверны. Вы должны вернуть его. Вы обновили его информацией о tomcat6, тогда как вопрос касается tomcat7. Я бы отклонил редактирование, но не было шанса. Я не могу отклонить редактирование сейчас. - person minion; 26.03.2015
comment
@minion Я исправил это. Спасибо за указание на ошибку версии - остальные мои правки были правильными и соответствовали документу tomcat7. - person Fritz Duchardt; 26.03.2015