如果存储在不同的" ValidationMessages.properties"中,如何检索约束违规消息;并且包含在不同的eclipse插件中

时间:2018-02-01 06:22:31

标签: validation bean-validation hibernate-validator

我在基于eclipse的(RCP)项目中使用了hibernate验证框架。 我在应用程序中有一种不同类型的插件,比如说

  • 插件A
  • 插件B
  • 验证插件

"插件A"和"插件B"包含POJO类并使用验证进行注释,我希望从消息描述符(ValidationMessages.properties)中检索约束违规消息。

"验证插件"包含" Hibernate Validation Framework"所需的jar。和我们自定义以支持SWT小部件验证的API。

我不想把我的ValidationMessages.properties放在这个插件中,每个插件都应该有ValidationMessages.properties,其中包含特定于该插件中包含的POJO的消息。

但是,只有当我将ValidationMessages.properties放在Validation Plugin中时才会从消息描述符中检索我的约束违规消息,因为它包含jar且其类加载器仅在此插件中看起来是捆绑包。

如何在每个插件中分发我的ValidationMessages.properties,我的约束违规消息会从那里解析?

1 个答案:

答案 0 :(得分:0)

您可以通过实现自定义资源包定位器来实现此目标(请参阅HV reference docs)。

更具体地说,您可以创建一个类似于现有AggregateResourceBundleLocator的自定义实现,它可以合并来自应用程序不同模块的资源包。为此,您可能必须将不同模块的捆绑加载器传递给该定位器,以便它可以从中获取资源包。