如何排除grails全局依赖

时间:2013-11-27 09:35:14

标签: grails dependencies grails-config

Grails有bouncycastle:bcprov-jdk14:138作为全球依赖

+--- org.grails:grails-docs:2.3.3
|    \--- org.xhtmlrenderer:core-renderer:R8
|    \--- org.yaml:snakeyaml:1.8
|    \--- org.grails:grails-gdoc-engine:1.0.1
|    \--- com.lowagie:itext:2.0.8
|         \--- bouncycastle:bcmail-jdk14:138
|         \--- bouncycastle:bcprov-jdk14:138
|    \--- commons-lang:commons-lang:2.6

但我的应用程序需要bcprov-jdk15on-149。当我将其添加为依赖时,它不会驱逐旧版本

dependencies {
    build 'org.bouncycastle:bcpg-jdk15on:1.49'
    build 'org.bouncycastle:bcprov-jdk15on:1.49'
}

我尝试了很多变种来排除它,但没有人工作

inherits("global") {
    //excludes 'grails-docs'

    excludes 'org.bouncycastle:bcmail-jdk14:138'
    excludes 'bouncycastle:bcmail-jdk14:138'
    excludes 'bcmail-jdk14-138.jar'
    excludes 'bcmail-jdk14'
    excludes 'bcmail'

    excludes 'bouncycastle:bcprov-jdk14:jar:138'
    excludes 'org.bouncycastle:bcprov-jdk14:138'
    excludes 'bouncycastle:bcprov-jdk14:138'
    excludes 'bcprov-jdk14-138.jar'
    excludes 'bcprov-jdk14'
    excludes 'bcprov'
    excludes 'bouncycastle'
}

使其成功的唯一方法 - 排除整个'grail-docs'依赖。

如何只排除旧bcprov-jdk14:138?

或者如何做到这一点(bcprov-jdk15on-149)驱逐旧版(bcprov-jdk14:138)?

1 个答案:

答案 0 :(得分:9)

这似乎是一个报告的错误>> http://jira.grails.org/browse/GRAILS-10640

我通过覆盖com.logwagie.itext依赖项找到了一种解决方法。

dependencies {
    // add this line
    build("com.lowagie:itext:2.1.7") { excludes "bouncycastle:bcprov-jdk14:138", "org.bouncycastle:bcprov-jdk14:1.38" }
}

希望这会对你有所帮助。