2012-04-13 3 views
2

Я бы хотел ТОЛЬКО исключить определенные файлы в maven-war-plugin, когда свойство «skipCompress» установлено в true, я думал, что могу сделать что-то подобное, но это не работает для меня. BTW, я не могу использовать профиль для достижения этого, даже я хочу использовать skipCompress для включения и выключения сжатия в обоих профилях разработки и развертывания.Условная конфигурация в maven pom.xml

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
    <if> 
     <not> 
     <equals arg1="${skipCompress}" arg2 = "true"/> 
     </not> 
     <then> 
     <warSourceExcludes>**/external/dojo/**/*.js</warSourceExcludes> 
     </then> 
    </if> 
    </configuration> 
</plugin> 

Спасибо,

Дэвид

+0

Вы сами дали ответ. Используйте профили для этого типа. – khmarbaise

ответ

2

без реального понимания профилей Maven, я решил аналогичную проблему с использованием шаблона, как в следующем. Возможно, это полезно и в вашем случае.

<profiles> 
    <profile> 
    <id>skipCompress</id> 
    <activation> 
     <property> 
     <name>skipCompress</name> 
     <value>true</value> 
     </property> 
    </activation> 
    <build> 
     <plugins> 
     <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
      <warSourceExcludes>**/external/dojo/**/*.js</warSourceExcludes> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 
</profiles> 
+0

'' Элемент settings.xml не имеет элемента '': http://maven.apache.org/ref/2.2.1/maven-settings/settings.html – maksimov

+0

Он поддерживается в 'pom.xml ': https://maven.apache.org/ref/3.1.0/maven-model/maven.html – ralfstx

+0

thanks @ralfstx, я был/одержим тем, что он работает через глобальную конфигурацию. – maksimov