【发布时间】:2011-12-22 08:13:06
【问题描述】:
我需要使用 Maven 构建我的 Grails 项目,并且需要添加一个额外的 grails 命令。我正在使用 grails-maven-plugin 创建 pom 文件,我可以使用 $ mvn package 构建 war 文件
在构建此应用程序时,我需要执行另一个 grails 命令,其中一个不直接对应于任何 maven 构建阶段。参考docs,我在grails-maven插件中添加了第二个执行元素,如下:
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>init</goal>
<goal>maven-clean</goal>
<goal>validate</goal>
<goal>config-directories</goal>
<goal>maven-compile</goal>
<goal>maven-test</goal>
<goal>maven-war</goal>
<goal>maven-functional-test</goal>
</goals>
</execution>
<execution>
<id>stats</id>
<phase>init</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<command>stats</command>
</configuration>
</execution>
</executions>
</plugin>
对于这个例子,我试图在 maven 初始化阶段执行grails stats。 (最终,统计数据将被更有用的东西取代。)当我运行时:
$ mvn package
输出包括:
[INFO] [grails:validate {execution: default}]
[INFO] [grails:init {execution: default}]
[INFO] [grails:config-directories {execution: default}]
[INFO] [resources:resources {execution: default-resources}]
显然不包含grails stats 的执行。我可以通过 Maven 直接执行 stats 命令,方式如下:
$ mvn grails:exec -Dcommand=stats
只有在 pom 中作为目标添加时才会执行失败。
我正在使用 Java 1.5.0_22、Grails 1.3.7 和 Maven 2.2.1。
【问题讨论】:
-
此时,我愿意将赏金奖励给可以将我指向论坛、电子邮件列表或可以回答问题的人。