Grails 2.3.7删除itext 2.0.8 jar

Luc*_*tti 4 grails

我尝试将应用程序从Grails 2.2.4更新到2.3.7,并且我遇到了iText依赖项的问题.

执行grails资源依赖项向我显示我有2个用于iText的jar

+--- org.grails:grails-docs:2.3.7
|    \--- org.xhtmlrenderer:core-renderer:R8
|    \--- org.yaml:snakeyaml:1.8
|    \--- org.grails:grails-gdoc-engine:1.0.1
|    \--- **com.lowagie:itext:2.0.8**
|    \--- commons-lang:commons-lang:2.6
+--- org.grails.plugins:jasper:1.8.0
|    \--- **com.lowagie:itext:2.1.7**
|         \--- bouncycastle:bcmail-jdk14:138
|         \--- bouncycastle:bcprov-jdk14:138
|         \--- org.bouncycastle:bctsp-jdk14:1.38
|              \--- org.bouncycastle:bcprov-jdk14:1.38
|              \--- org.bouncycastle:bcmail-jdk14:1.38
Run Code Online (Sandbox Code Playgroud)

我试图删除在BuildConfig上添加的itext 2.0.8

grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
    excludes "itext" 
 }
Run Code Online (Sandbox Code Playgroud)

但是,当我刷新依赖关系时,Grails无论如何都会添加itext 2.0.8.

有人可以给我一个解决方案的提示吗?

最良好的问候

doe*_*eri 8

itext 2.0.8是依赖项的依赖项:grails-docs.您可以做的是从继承的全局依赖项中排除grails-docs,然后专门添加它,不包括itext.

grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
        excludes "grails-docs"
    }

    dependencies {
        // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g.
        // runtime 'mysql:mysql-connector-java:5.1.24'
        build('org.grails:grails-docs:2.3.7') {
            excludes 'itext'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这将产生

+--- org.grails:grails-docs:2.3.7
|    \--- org.xhtmlrenderer:core-renderer:R8
|    \--- org.yaml:snakeyaml:1.8
|    \--- org.grails:grails-gdoc-engine:1.0.1
|    \--- commons-lang:commons-lang:2.6
Run Code Online (Sandbox Code Playgroud)