【发布时间】:2012-11-03 04:49:47
【问题描述】:
我在 googlytubes 上没有看到任何类似的答案,所以这里是......
我们在 grails 项目中使用了几个本地插件。我们的一个插件最近依赖于 SLF4J。我们的主 webapp(使用插件)也依赖于 SLF4J。这会导致在运行时发出完全无害但令人恼火的警告:
Error SLF4J: Class path contains multiple SLF4J bindings.
通常我只是在插件 SLF4J 依赖项上定义一个“排除”,但由于这是一个本地插件,我看不到任何方法。我试过了……
grails.plugin.location.'localpluginname' = '../localplugindir'
grails.project.dependency.resolution = {
plugins {
runtime("com.ourcompany:localpluginname:1.0") {
excludes('slf4j-api')
}
}
}
...但随后它尝试实际解析远程存储库上的所述插件,但失败了。我们也不想直接在插件中排除依赖项,因为该插件可能会在其他尚未提供依赖项的项目中使用。
在有人建议我们将本地插件部署到本地 maven 存储库以执行此操作之前,让我把它排除在我们不想这样做的方式之外。我们将它们放在本地是有原因的……所以我们可以快速进行更改并查看所述更改。我们宁愿忍受烦人的警告消息,也不愿增加部署每次更改的痛苦。
【问题讨论】:
标签: grails plugins dependencies