【问题标题】:Duplicate classes in a web applicationWeb 应用程序中的重复类
【发布时间】:2018-05-07 15:57:41
【问题描述】:

我有一个 Maven Spring Boot Web 应用程序,其中包含很多(传递)依赖项。

在构建的.war 内的WEB-INF/lib 文件夹中有.jar 文件。

例如:

  • hibernate-jpa-2.1-api-1.0.0.Final.jar
  • javax.persistence-2.1.0.jar

这两个都包含一个名为 javax/persistence/JoinColumn.class 的类(具有不同的文件大小)。

在运行时,我在代码中使用哪个“版本”?
这种依赖会不会导致以后出现问题?

【问题讨论】:

  • 是的,它们会导致问题(noclassdef、nosuchmethoderror 等)。你如何避免这种情况?您找到提供相同类的依赖项并选择一个,排除另一个。
  • @w9n7cxx5fM8 Java 在类路径中找到的第一个。这肯定会导致问题。你应该确定你正在使用的依赖版本
  • Spring Boot 的全部意义在于您不必担心依赖关系。您能否包含您的pom.xml 文件?
  • @ErnestKiwele 我不能真正排除另一个,因为有些类仅在 .jars 之一中。
  • @w9n7cxx5fM8 如果我的答案足够,您介意将其标记为答案吗?

标签: java maven dependencies


【解决方案1】:

回答你的问题:

  1. 你不知道。
  2. 是的,这会在以后引起问题。

如需更详细的答案,请查看https://stackoverflow.com/a/5474838/7430994

【讨论】:

    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 2017-10-11
    相关资源
    最近更新 更多