最大限度利用Maven settings.xml文件
2009-09-23 00:00:00 来源:WEB开发网做更多有趣的事情,特别是当你也在构建中集成了Groovy时。例如,假设在集成测试阶段期间,我们需要确保特定的SQL脚本已在数据库中执行过了。我们有一个名为update-scripts.groovy的 Groovy脚本来做这件事情,但它需要以命令行参数的形式提供用户名和密码。在集成测试阶段之前,你应如何使用定义在settings.xml中的用户名和密码呢?是的,只需一点儿Groovy魔术,没有比这儿更简单的了。settings对象可用于任何集成到pom.xml中的Groovy脚本,所以你可像使用一个普通对象那样方便地使用它,如下示例:
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0-rc-5</version>
<executions>
<execution>
<id>process-db-scripts</id>
<phase>pre-integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
def server = settings.servers.find{ it.id.equals('dbserver') }
"""groovy update-scripts.groovy -Ddb.username=${server.username}
-Ddb.password=${server.password}""".execute()
</source>
</configuration>
</execution>
</executions>
</plugin>
简单!事实上,一旦你既知道如何访问顶级变量,又知道如何访问settings.xml中的各个元素,那么其功效将不可限量!只需记住一定要使你的构建保持弹性--例如,不要在settings.xml文件中定义那些在pom.xml文件中无有效默认值的属性。
如果你想学习更多关于应用Maven的酷炫方法,查看最新的来自于Sonatype的在线课程。或者,为了有一个更具全景的视角,可以参加Java Power Tools bootcamp会议--很快在堪培拉,悉尼,布里斯班和惠灵顿就有研讨会了。
更多精彩
赞助商链接