Я использую Maven 3.0.3. Мне нужно определить переменную в моем скрипте («env»). У меня есть <profiles>
раздел в моем ПОМ, в которых я определяю переменную в <profile>
элемент ...Активация профиля по умолчанию
<profile>
<id>qa</id>
<properties>
<env>qa</env>
...
</properties>
</profile>
В моей pom.xml, как мне активировать профиль, только если ни один не был определен с помощью «-P» (и, следовательно, установить переменную, если она не определена)? Я попытался ниже,
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<url>http://localhost:8080/manager</url>
<server>nnadbmon-dev-tomcat</server>
</properties>
</profile>
но работает команда «МВН компиляции» не удается, потому что силовика плагин настроить требует, чтобы я определить «ENV» переменной. Вот код, я бег моего Инфорсера плагин ...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>env</property>
<message>Environment missing. This should be either dev, qa, or prod, specified as part of the profile (pass this as a parameter after -P).</message>
<regex>^(dev|qa|production)$</regex>
<regexMessage>Incorrect environment. Expecting one of dev, qa, or prod.</regexMessage>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
Непонятно, что вы хотите. Вы хотите просто предоставить значение по умолчанию для свойства env? – bmargulies
Да, я хочу предоставить значение по умолчанию для свойства env. – Dave
, пожалуйста, напишите конфигурацию своего исполнителя. Фактически вы не определили свойство env. Вы просто установите профиль для запуска, если такое свойство существует и имеет определенное значение. Вы можете добавить свойство env по умолчанию к элементу свойств с другим значением. – bmargulies