如何排除grails全局依赖关系

如何排除grails全局依赖关系,grails,dependencies,grails-config,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 | \---

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文档”依赖关系

dependencies {
    // add this line
    build("com.lowagie:itext:2.1.7") { excludes "bouncycastle:bcprov-jdk14:138", "org.bouncycastle:bcprov-jdk14:1.38" }
}
如何仅排除旧的bcprov-jdk14:138?


或者如何使新的(bcprov-jdk15on-149)逐出旧的(bcprov-jdk14:138)?这似乎是一个报告的错误>>

我通过重写
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" }
}

希望这能对您有所帮助。

尝试
编译“org.bouncycastle:bcpg-jdk15on:1.49”
。应该使用更新的版本。谢谢你的回答,但我已经试过了,它还没有起作用。“maven”依赖项解析程序(grails从2.3开始使用)中似乎存在这个问题,因为使用“ivy”依赖项解析程序一切正常。如果您在BuildConfig.groovy中更改为使用ivy,它会正常工作吗?那么我认为你应该提出一个Jira。有人对这个问题有答案吗?我也被困住了…这种排除如何在一个将被其他人使用的插件中有效?上面的内容在Grails 2.5.6上对我有用,但我使用了
build(“com.lowagie:itext:2.0.8”){excludes“bcprov-jdk14”}