Grails将我的repo中的zip解释为插件,尽管它实际上并不是一个插件

Jay*_*ark 6 grails plugins dependencies

我的grails项目(我构建的模块)的依赖项使用maven-assembly-plugin输出一个zip文件作为其构建过程的一部分(供flex应用程序使用).这个zip输出到我的本地mvn repo,与从构建模块输出的jar相同的目录输出

.m2/repository/com/mypackage/domain/1.0.0-SNAPSHOT/domain-1.0.0-SNAPSHOT.jar
.m2/repository/com/mypackage/domain/1.0.0-SNAPSHOT/domain-1.0.0-SNAPSHOT-generated-tos.zip
Run Code Online (Sandbox Code Playgroud)

由于模块是我的grails项目中的(传递)依赖项,jar和zip都被缓存在常春藤缓存中

现在,当我尝试启动我的grails应用程序时,Grails似乎从常春藤缓存中检测到这个zip并尝试将其安装为插件,但由于显而易见的原因而失败...

| Loading Grails 2.0.0
| Configuring classpath.
| Environment set to development.....
| Error Zip ~/.grails/ivy-cache/com.mypackage/domain/zips/domain-1.0.0-SNAPSHOT-generated-tos.zip is not a valid plugin
Run Code Online (Sandbox Code Playgroud)

由于另一个模块使用mvn-dependency-plugin将其作为构建过程的一部分解压缩,因此必须将zip构建到repo.因此,我需要找到一种方法来告诉Grails忽略它,因为它不是一个插件zip.这可能吗?

Gep*_*ens 0

这是因为在 grails 中,插件的打包默认是 zip,任何依赖于该格式的存档都将被视为插件。

尝试默认排除传递:

def excludes = {
    transitive = false
}
Run Code Online (Sandbox Code Playgroud)