首页 > Java > java教程 > 如何逃离Java/Maven中的'Xerces地狱”?

如何逃离Java/Maven中的'Xerces地狱”?

Mary-Kate Olsen
发布: 2024-11-19 05:55:02
原创
311 人浏览过

How to Escape

处理 Java/Maven 中的“Xerces Hell”?

Xerces 是一种广泛使用的 XML 解析器,长期以来一直是令人沮丧的根源对于 Java 开发人员来说,由于其历史上存在无版本 JAR、缺乏官方 Maven 版本以及拆分 jar(xml-api 和xercesImpl)。这导致了版本冲突和类加载器问题。

问题:

  • 冲突解决:使用具有存储库代理的企业软件时,来自不同组织的多个版本的 Xerces(例如 xml-apis)可以添加为依赖项,从而导致 Maven 发生冲突由于 groupId 不同而无法解析。
  • 类加载器地狱: JRE 包含 Xerces 作为 JAXP 实现的一部分,但其版本可能与第三方库或 servlet 使用的版本不兼容容器。这可能会导致运行时的类加载问题。

解决方案:

将 Xerces 依赖项标记为 或<排除>可以提供帮助,但执行起来很困难,并且可能无法与所有框架/库兼容。

Maven 中心解决方案:

2013 年 2 月,Xerces 2.11.0 的 JAR其源 JAR 已在 Maven Central 上发布。这消除了自定义构建的需要并简化了依赖管理。

要使用 Maven Central 版本:

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.11.0</version>
</dependency>
登录后复制

未来改进:

Apache Xerces 团队已上传修补后的构建脚本,允许自动 Maven Central 上传,解决了“Xerces 地狱。”此改进应该可以永久解决问题。

以上是如何逃离Java/Maven中的'Xerces地狱”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板