【问题标题】:java maven needs to different versions of a libraryjava maven需要不同版本的库
【发布时间】:2026-01-05 12:50:02
【问题描述】:

我同时需要库 L 版本 A 和版本 B。

  <-Dependency->

        Library L of version A
  <-/Dependency->
  <-Dependency->
        Third party library (needs Library L of version B)
  <-/Dependency->

-/依赖->

如果我像上面这样写,第三方库也招募了版本A的库L,而不是版本B。那么它会抛出一些错误,我应该如何声称pom才能使其工作?

顺便说一句,必须使用有线标记,否则格式混乱。

请帮助仍在寻找答案

谢谢

【问题讨论】:

  • 您不能在单个类加载器中执行此操作。你可以单独的类加载器中加载同一个库的两个不同版本,但是你必须做很多棘手的事情才能让它工作。我会尝试弄清楚如何使用 one 版本的库。
  • 如果您尝试在单个类加载器中包含 both 版本,不,没有解决方案。如果你想让 maven 解析一个单一的、特定的版本,那么这是相当微不足道的。

标签: java maven pom.xml


【解决方案1】:

默认情况下你不能拥有相同的工件的两个版本,

假设即使你破解了它以使其工作,在运行时,类路径顺序中的第一个将获得优先权,所以这样做真的很糟糕

【讨论】:

  • 确实不是个好主意。但是当我不得不这样做时,我应该如何配置?
  • 你如何运行你的应用程序?
  • 构建战争并将战争部署到tomcat
  • 如果你使用汇编插件,你可以将特定的jar推送到war文件的特定位置,所以通过配置将该jar文件放置到WEB-INF/lib
  • 你有没有汇编插件的关键字,以便我快速搜索如何做到这一点?谢谢
最近更新 更多