【问题标题】:Overriding Grails built-in library?覆盖 Grails 内置库?
【发布时间】:2015-05-19 02:57:33
【问题描述】:

Grails “渲染”插件使用 org.xhtmlrenderer。 Grails 本身与 org.xhtmlrenderer:core-renderer:R8 打包在一起,显然从依赖报告中使用了 grails-docs。

在这个版本的 xhtmlrender 中有一个错误,它与 twitter 引导程序冲突,并且仅在 github 存储库中修复。我已经构建了这个新版本并通过 maven 成功安装了它,但是对于我的生活,我无法获得“渲染”插件来使用它。我什至尝试构建自己的渲染插件版本,但这不起作用,并且根据依赖报告“渲染”甚至不依赖于 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 的技巧是什么?

【问题讨论】:

  • 我的answer on this similar question 有帮助吗?
  • 确实如此。谢谢!是否愿意在此处重复答案或将其链接,以便我给你功劳?

标签: grails dependency-management


【解决方案1】:

您需要做的是从继承的全局依赖项中排除 grails-docs,然后专门添加它,排除 xhtmlrenderer(尽管看起来这只是包名称,您需要排除 fly-sauce-core)。这将允许您指定自己的库版本。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多