2015-05-19 75 views
3

Grails「渲染」插件使用org.xhtmlrenderer。 Grails本身包含org.xhtmlrenderer:core-renderer:R8,顯然來自dependency-report的是使用grails-docs。覆蓋Grails內置庫嗎?

這個版本的xhtmlrender存在一個bug,它與twitter bootstrap衝突,並且只在github存儲庫中修復。我已經構建了這個新版本,並通過maven成功安裝了它,但在我的生活中,我無法使用「渲染」插件來使用它。我甚至試圖構建我自己的渲染插件版本,但這不起作用,根據dependency-report「渲染」甚至不依賴於org.xhtmlrenderer:core-renderer:R8。

在BuildConfig.groovy,我試過(其中很多很多其他的東西):

inherits("global") { 
     // specify dependency exclusions here; for example, uncomment this to disable ehcache: 
     // excludes 'ehcache' 
     excludes 'core-renderer-M8', 'org.xhtmlrenderer', 'core-renderer' 
    } 

compile 'org.xhtmlrenderer:flying-saucer-core:9.0.1-custom' 
runtime 'org.xhtmlrenderer:flying-saucer-core:9.0.1-custom' 

無濟於事。

我該如何獲得「渲染」以使用我自定義的org.xhtmlrenderer版本?構建「渲染」插件的本地版本並將我在BuildConfig.groovy項目中嘗試的排除和依賴項信息添加到插件BuildConfig.groovy的技巧是什麼?

+0

請問我的[在這個類似的問題答案(http://stackoverflow.com/questions/23660018/grails-2-3-7-remove-itext-2-0-8-jar/23660909# 23660909)有幫助嗎? – doelleri

+0

確實如此。謝謝!謹慎地在這裏重複答案或鏈接它,所以我可以給你信貸? – jbwiv

回答

5

你需要做的是從繼承的全局依賴關係中排除grails-docs,然後專門添加它,但不包括xhtmlrenderer(儘管它看起來只是包名稱,你需要排除飛行醬核心)。這會讓你指定你自己的庫的版本。

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 'flying-saucer-core' 
     } 
    } 
}