我需要使用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 init阶段执行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 1.3.7和Maven2.2.1。
发布于 2011-11-08 23:48:56
好吧,我的问题是混淆了目标和Maven阶段。请注意,我正在尝试
<phase>init</phase>我还尝试了目标列表中的其他项目,但这些都不是Maven阶段。
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
发布于 2011-11-08 17:49:48
根据我能找到的关于这个插件的信息,你应该在你的目标前加上grails:前缀。
我没有使用这个插件的经验,所以我可能是错的=)
参考文献:
例如:<goal>grails:init</goal>
https://stackoverflow.com/questions/8015133
复制相似问题