3

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

4

2 回答 2

7

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

然后像这样访问配置文件中的变量:

...
<port>${deploymentPort}</port>
...
于 2013-03-15T18:21:30.270 回答
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]覆盖默认值。

于 2013-03-15T20:23:14.657 回答