Мне нужно построить свой проект Grails с помощью Maven, и необходимо добавить дополнительную команду Grails. Я использую Grails-Maven-плагин для создания файла POM, и я могу построить файл войны с $ mvn package
При создании этого приложения мне нужно будет выполнить еще одну команду grails, которая не соответствует напрямую ни одной из фаз сборки maven. Ссылаясь на документы , я добавляю второй элемент выполнения к плагину 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>
В этом примере я пытаюсь выполнить grails stats
в фазе инициализации maven. (В конце концов, статистика будет заменена чем-то более полезным.) Когда я запускаю:
$ 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
. Я могу выполнить команду stats напрямую через Maven следующим образом:
$ mvn grails:exec -Dcommand=stats
он не может быть выполнен только при добавлении в качестве цели в пом.
Я использую Java 1.5.0_22, Grails 1.3.7 и Maven 2.2.1.