使用Arguments配置maven配置文件

时间:2013-03-15 18:07:41

标签: maven maven-2 maven-3 cq5 maven-profiles

无论如何我可以在maven配置文件中传递参数。就像我想在特定端口上运行服务器,如果另外指定默认配置文件。 就像当我运行mvn clean install -Pdeploy 4322时,应该将程序包部署到在端口4322上运行的服务器,否则为4052.

2 个答案:

答案 0 :(得分:6)

是的,您可以传递环境变量,例如:mvn ... -Pdeploy -DdeploymentPort=4322

然后访问配置文件中的变量,如下所示:

...
<port>${deploymentPort}</port>
...

答案 1 :(得分:2)

您可以定义要在父pom.xml中使用的默认属性

 <properties>
    <crx.userId>admin</crx.userId>
    <crx.password>admin</crx.password>
    <crx.host>localhost</crx.host>
    <crx.port>4502</crx.port>
</properties>

稍后在父pom.xml或子项目的pom.xml中,您可以使用这些属性。

示例:

<plugin>
    <groupId>com.day.jcr.vault</groupId>
    <artifactId>content-package-maven-plugin</artifactId>
    <extensions>true</extensions>

    <configuration>
        <targetURL>http://${crx.host}:${crx.port}/crx/packmgr/service.jsp</targetURL>
        <userId>${crx.userId}</userId>
        <password>${crx.password}</password>
    </configuration>
</plugin>

然后在maven命令中使用-D[property name] = [value]覆盖默认值。