2014-05-14 38 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。