在同一项目中具有多个版本的相同依赖项名称的分区

时间:2019-04-03 18:29:52

标签: java maven hibernate-validator

我有一个Spring模块,具有: 1)depedency org.hibernate-validator 6 ... 2)传递性org.hibernate-validator 5 ... 3)使用org.hibernate-validator <6

将vaadin依赖的胖jar(gwt-user)中的超级传递性hardFileCoded

它们似乎不兼容互换。

问题是-他们不发生冲突,也不会举手。 但是在编译时(在完成伪造之前会出现不良的伪像),它们会随机混乱(?)。 错误的版本(?)用于检索验证消息错误文本。 由于版本<= 5没有javax.validation.constraints.NotBlank.message:

,导致打印质量不佳
  

对象:***,错误:{javax.validation.constraints.NotBlank.message}

而不是正确的:

  

对象:***,错误:不能为空

我真的无法删除其他内容。 需要某种方式来区分它们并在适当的地方使用适当的版本。 首先,限制胖罐验证程序永远不会脱离vaadin =)

非常感谢您提供任何挖掘方向。

1 个答案:

答案 0 :(得分:0)

  • 一如既往,您应该寻找正常的健康依赖
  • 您可以在<exclude>(必需)中使用某些传递对象,并在正确的版本中明确包含它们
  • 还要检查是否确实需要这种依赖关系
  • 在极少数情况下,请参见类加载器,因此您可以为不同的使用者加载不同版本的相同类

在我的具体案例中,发现胖子罐未使用,可以随意删除=) 感谢您的建议。