0
我试图通过配置文件设置条件插件执行。这个想法是有一个压缩/无压缩HTML文件:Maven配置文件未激活,虽然属性的值正确
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net</groupId>
<artifactId>mavenconditionalexecution</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>Maven Conditional Execution</name>
<properties>
<DoCompress>true</DoCompress>
</properties>
<build>
<plugins>
<!-- Clean-up -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>clean</phase>
<configuration>
<target>
<echo message="DoCompress: ${DoCompress}"/>
<delete includeemptydirs="true">
<fileset dir="${basedir}/src/main/webapp/result/" includes="**/*"/>
</delete>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>${basedir}/src/main/webapp/html</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>With Compression</id>
<activation>
<property>
<name>DoCompress</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.tunyk.mvn.plugins.htmlcompressor</groupId>
<artifactId>htmlcompressor-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>html</goal>
</goals>
</execution>
</executions>
<configuration>
<goalPrefix>htmlcompressor</goalPrefix>
<srcFolder>${basedir}/src/main/webapp/html</srcFolder>
<targetFolder>${basedir}/src/main/webapp/result/html</targetFolder>
<removeIntertagSpaces>true</removeIntertagSpaces>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>Without Compression</id>
<activation>
<property>
<name>DoCompress</name>
<value>false</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<target>
<echo message="Copying file"/>
<copy todir="${basedir}/src/main/webapp/result/">
<fileset dir="${basedir}/src/main/webapp/html/" >
<include name="angle.html"/>
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>com.tunyk.mvn.plugins.htmlcompressor</groupId>
<artifactId>htmlcompressor-maven-plugin</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
不要紧,我分配到DoCompress
财产什么样的价值,相应的配置文件不被执行。我用echo
检查房产的价值。为什么?我究竟做错了什么?
是否允许使用属性值激活pom.xml
中的多个配置文件?
UPDATE
我已经创建了一个事件:我已经创建了一个事件:https://jira.codehaus.org/browse/MNG-5235。
如果任何人有一个操作示例的maven配置文件激活属性,我感兴趣。此外,有没有人知道是否可以通过属性在同一运行中激活多个配置文件?文件不清楚。
您是否尝试过使用-X运行maven进行调试?你是否也可以描述如何从命令行运行maven? – Jeroen 2012-01-29 11:40:11
避免在个人资料的ID中使用空格。尝试用'mvn -P WithoutCompression'或'mvn -P DoCompress'来执行Maven。 – 2012-01-29 13:40:53
[通过属性激活Maven多项目配置文件]的副本(http://stackoverflow.com/a/8985198/267197),[如何通过maven属性激活配置文件](http://stackoverflow.com/a/5676534/267197)和[MNG-5055](http://jira.codehaus.org/browse/MNG-5055)(请为此错误投票)。 – 2012-01-29 18:24:46