2014-05-14 78 views
4

我试图从grails 2.2.4更新到2.3.7的应用程序,并且我遇到了iText依赖关系的问题。Grails 2.3.7删除itext 2.0.8 jar

执行Grails的资源依赖性告诉我,我有2个罐子iText的

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

我试图删除的iText 2.0.8添加上BuildConfig

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

然而,当我刷新依赖的Grails添加无论如何,itext 2.0.8。

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

最佳方面

回答

8

iText的2.0.8是相关性的相关:在grails-文档。你可以做的是从继承的全局依赖中排除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' 
     } 
    } 
} 

这将产生

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

没有必要排除iText的版本,而不是明确地依赖添加如下的版本。这将覆盖下面版本的任何插件itext。将来,使用itext添加新插件也不会引起任何问题。

dependencies { 
     build "com.lowagie:itext:2.1.0" 
    } 

注意:不要排除任何itext或grails-docs。