【问题标题】:Issue Deploying a Grails 2.1.1 app to JBoss because of Xerces由于 Xerces,将 Grails 2.1.1 应用程序部署到 JBoss 的问题
【发布时间】:2012-11-01 20:34:07
【问题描述】:

我有一个使用 Rest 插件的 Grails 应用程序

当我将 war 放入 JBoss 部署目录并启动它时,由于以下错误,应用程序的部署失败:

2012-11-01 15:48:33,931 ERROR [org.jboss.web.tomcat.service.deployers.JBossContextConfig] XML error parsing: context.xml
org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser

我相信这是指包含 xercesImpl 版本的 grails 应用程序以及拥有它自己的 JBoss。我们通常通过从我们的应用程序中删除 xercesImpl 或将它们设置为“提供”范围来纠正此问题。

我正在尝试弄清楚如何解决此部署问题。我假设我必须编辑 BuildConfig.groovy 脚本并以某种方式告诉它排除 xerces 对吗?我将如何为这个插件做到这一点?如果这是一个似乎很容易指定排除项的“依赖项”。但是我不确定如何为这个插件做这件事......

有什么想法吗?

【问题讨论】:

    标签: grails grails-2.0 xerces


    【解决方案1】:

    在您的BuildConfig.groovy 中添加:

    inherits('global') {
       excludes 'serializer'
    }
    

    【讨论】:

    • 宾果游戏!那成功了。如果您不介意我问,这是否记录在我错过的 grails 文档中的某个地方?
    • 我不确定,但遇到这个问题绝对是 Grails 开发人员的必经之路。
    • 运行grails dependency-report,您可能会从您的插件依赖项之一中获取它。可能的罪魁祸首是xml-apis and xercesImpl。如果您看到他们添加排除项。
    • 我最初看到的问题是我正在使用的 REST 插件正在拉入 xercesImpl 所以我在问如何从我正在使用的插件中排除 xercesImpl ... REST 插件是目前没有在我的 BuildConfig.groovy 的插件部分中列出,并且我没有在此处列出任何依赖项。那么如何/在哪里编写排除项?
    • 看起来它目前甚至可能无法正常工作,不包括我正在使用的插件的传递依赖jira.grails.org/browse/GRAILS-9188
    【解决方案2】:

    事实证明,在我的 BuildConfig.groovy 的插件部分中执行以下操作毕竟成功了...

    compile(":rest:0.7"){
       excludes "xercesImpl"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多