如何休眠,验证4.3.0.Final升级到3.1.2 Glassfish的?(How to upgr

2019-07-29 08:40发布

目前,在Hibernate验证已发布了最新版本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.

通过谷歌搜索后,我发现,是由Glassfish的团队作为一个OSGi版本创建了一个名为“豆validator.jar”的文件。 可悲的是,我无法找到如何创建它。 你能帮进一步指教? 非常感谢您对您的帮助提前。 我期待着您的佳音。

Answer 1:

如何构建GlassFish的豆validator.jar A(略过时)说明可以发现在这里 。

我们需要的,一般是一个OSGi包,其中包括Hibernate验证本身和Bean验证API。 有了这个包,你应该能够取代原来的豆validator.jar。 另外,你需要JBoss的日志记录包,因为发行4.3 Hibernate验证日志记录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>

这样的HV类会从你的应用程序,而不是从Glassfish的提供的模块被加载。

您可能也有兴趣在这个问题GLASSFISH-15648 ,其目的是为HV提供专用Glassfish的更新包。



Answer 2:

由于我的情况是ear ,而不是war ,基于贡纳尔的建议下,我做了模块的一个补丁版本,这是部署到Glassfish (我的版本是3.1.1 OSE )。

有人可能会发现它仍然是有用的,看到我的博客我的解决方案(包括一步一步的方法): http://peter-butkovic.blogspot.de/2012/11/glassfish-311-oss-with-hibernate.html



文章来源: How to upgrade the hibernate-validator 4.3.0.Final to the Glassfish 3.1.2?