【发布时间】:2011-12-28 21:09:04
【问题描述】:
我正在使用 Maven 构建一个 Grails 项目,这是在我的公司构建所需的方式。
在我的本地机器上,我以通常的方式grails install-plugin foo 安装了一个 Grails 插件。当然,当项目在构建服务器上由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 需要上网查找插件,pluginUrl 会是什么?
编辑:
我发现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 能够构建项目,成功找到所有插件依赖项。
但它仍然无法在构建服务器上运行。有什么想法吗?
【问题讨论】: