如何将hibernate-validator 4.3.0.Final升级到Glassfish 3.1.2?

Cha*_*suk 5 hibernate-validator glassfish-3

目前,Hibernate Validator已经在这里发布了最新版本4.3.0.Final .我尝试将其升级到我的Glassfish 3.1.2,如下所示: -

1. Remove the GLASSFISH/glassfish/modules/bean-validator.jar
2. Copying the hibernate-validator-4.3.0.Final.jar to GLASSFISH/glassfish/modules
3. Restart the Glassfish
4. The Glassfish cannot start. It seems hang.
Run Code Online (Sandbox Code Playgroud)

通过Google搜索后,我发现名为"bean-validator.jar"的文件是由Glassfish团队创建的OSGi版本.可悲的是,我找不到如何创建它.你能帮忙进一步提出建议吗?非常感谢您的帮助.我很期待很快收到你的来信.

Gun*_*nar 8

有关如何构建Glassfish的bean-validator.jar的(略微过时的)描述可以在这里找到.

一般需要的是OSGi包,其中包括Hibernate Validator本身和Bean Validation API.使用此捆绑包,您应该能够替换原始的bean-validator.jar.此外,您还需要JBoss Logging软件包,该软件包自Hibernate Validator自4.3版开始用作日志API,并且已经以OSGi软件包的形式出现.

如果您正在构建Web应用程序,则还可以在WAR中打包HV 4.3并通过向文件提供以下内容来关闭类加载器委派WEB-INF/glassfish-web.xml:

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <class-loader delegate="false" />
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

这样,HV类将从您的应用程序而不是Glassfish提供的模块加载.

您可能还对GLASSFISH-15648问题感兴趣,该问题旨在为HV提供专用的Glassfish更新包.

  • 遗憾的是,类加载器委托的建议配置仅在WAR中有效,因此您可能必须创建自定义OSGi包. (2认同)