Grails 1.1 Maven集成 - 添加Grails 命令到 phase 中

标准的POM文件被创建是为了让Grails将合适的核心Grails命令附加到它们对应的构建语法上,因此“compile”对应“compile”语法,“war”对应“package”语法。

当你想要将一个插件的命令附加到一个特定的phase上时,这可能没有什么帮助。

典型的例子是功能测试。

你如何确保你的功能测试(无论正在使用你决定的哪个插件)是使用“integration-test” phase来运行的?

恐怕不是:所有事情都是可能的。在这个例子中,你可以使用额外的“execution”块来将命令联合到一个 phase 上:<plugin> <groupId>org.grails</groupId> <artifactId>grails-maven-plugin</artifactId> <version>1.0-SNAPSHOT</version> <extensions>true</extensions> <executions> <execution> <goals>&#161;&#173;</goals> </execution> <!-- 添加 "functional-tests" 命令到 "integration-test" phase --> <execution> <id>functional-tests</id> <phase>integration-test</phase> <goals> <goal>exec</goal> </goals> <configuration> <command>functional-tests</command> </configuration> </execution> </executions> </plugin> 这也展示了 grails:exec 目标,它可以用来运行任何Grails命令。

简单的将命令的名字作为command 系统特性,还可以通过 args 特性来选择性地指定参数:mvn grails:exec -Dcommand=create-webtest -Dargs=Book