我正在用Maven构建一个Grails项目,这是在我公司建设所需的方式。如何通过Maven pom.xml安装Grails插件?
在我的本地机器上,我以通常的方式安装了Grails插件grails install-plugin foo
。当然,当项目由构建服务器上的Maven构建时,它对此插件一无所知。
我已经看到了在插件中的Grails的插件目录,可参考以下可以为案件有用:
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>1.1</version>
<extensions>true</extensions>
<executions>
<execution>
<id>create plugins folder</id>
<phase>validate</phase>
<goals>
<goal>install-plugin</goal>
</goals>
<configuration>
<pluginUrl>${env.GRAILS_HOME}/plugins/grails-hibernate-1.1.zip</pluginUrl>
</configuration>
</execution>
</executions>
</plugin>
但假设该插件是不是在机器上呢? 在Maven或Grails需要去互联网寻找插件的情况下会是什么?
编辑:
我发现pluginName
和pluginVersion
标签是有用的,我已经添加了以下执行到grails-maven-plugin
:
<execution>
<id>Hibernate plugin</id>
<phase>validate</phase>
<goals>
<goal>install-plugin</goal>
</goals>
<configuration>
<pluginName>hibernate</pluginName>
<pluginVersion>1.3.7</pluginVersion>
</configuration>
</execution>
这几乎作品。如果我在新目录中查看我的代码,并删除我的插件目录的内容,Maven能够构建项目,成功查找所有插件依赖项。
但它仍然无法在构建服务器上工作。有任何想法吗?
你是说做'MVN org.grails:Grails的-maven-插件:1.3.2:create-pom -DgroupId = com.mycompany'?这就是我最初获得我的pom.xml的方式。你是说这个命令可以用来更新Grails插件的pom吗? –
不,grails插件应该选取新安装的插件并将它们添加到构建中。你可以检查'application.properties'文件是否被检入版本控制,并且它是否包含你需要的所有插件? –
'application.properties'被检入,并且它包含所有安装插件的名称和版本。 –