maven profile id如何使用var?

时间:2012-09-12 08:44:09

标签: maven maven-assembly-plugin

个人资料是: 我使用$ {artifactId}作为个人资料ID。

 <profiles>
    <profile>
        <id>${artifactId}</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <descriptors>
                            <descriptor>distribution.xml</descriptor>
                        </descriptors>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

在shell中运行maven: mvn -U -Dmaven.test.skip=true -f pom.xml -Pabc_test clean install

然后我发现了一个错误:

  

[警告]无法激活请求的配置文件“abc_test”,因为它不存在。   完成

1 个答案:

答案 0 :(得分:4)

您必须在pom.xml中定义所有配置文件。

    <profiles>
        <profile>
            <id>dev</id>
                    <activation>
                        <activeByDefault>true</activeByDefault>
                    </activation>
                    <properties>
                        <war.name>dev</war.name>
                    </properties>
        </profile>
        <profile>
                    <id>prod</id>
                    <properties>
                        <war.name>prod</war.name>
                    </properties>
        </profile>
    </profiles>

此处的个人资料名称为devprod。您可以使用${war.name}作为配置文件修改的变量。