How to exclude grails global dependency

*爱你&永不变心* 提交于 2019-11-28 07:27:11

问题


Grails has bouncycastle:bcprov-jdk14:138 as global dependency

+--- 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

But my app need bcprov-jdk15on-149. When I added it as dependency it doesn't evict old version

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

I tried a lot of variants to exclude it but no one works

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'
}

The only way to made it work – exclude whole 'grail-docs' dependency.

How exclude only old bcprov-jdk14:138?

Or how to do that the new(bcprov-jdk15on-149) evict old(bcprov-jdk14:138)?


回答1:


It seems to be a reported bug >> http://jira.grails.org/browse/GRAILS-10640

I found a workaround by overriding the com.logwagie.itext dependency.

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

Hope this will help you.



来源:https://stackoverflow.com/questions/20238627/how-to-exclude-grails-global-dependency

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!