2012-05-11 30 views
5

目前,Hibernate Validator已经发布了最新版本4.3.0.Final here。我试图将它升级到Glassfish的我作为3.1.2以下的步骤: -如何将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. 

通过谷歌搜索后,我发现这是由创建了一个名为“豆validator.jar”的文件Glassfish团队作为OSGi版本。可悲的是,我找不到如何创建它。你能帮助进一步提供建议吗?提前感谢您的帮助。我期待尽快收到你的来信。

回答

8

关于如何构建Glassfish的bean-validator.jar的一个(稍微过时的)描述可以找到here

通常需要的是一个OSGi包,它包含Hibernate Validator本身和Bean Validation API。有了这个包,你应该可以替换原来的bean-validator.jar。此外,您还需要JBoss日志记录软件包,该软件包自Hibernate Validator 4.3版本以来用作日志API,并且已经以OSGi软件包的形式出现。

如果你正在构建一个Web应用程序,你也可以通过提供文件WEB-INF/glassfish-web.xml具有以下内容打包你的战争和turn off类加载器代表团内HV 4.3:

<!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更新包。

+0

非常感谢你对你善意的解释。在构建EJB项目时,我想进一步请求您的帮助。 glassfish-ejb-jar没有“class-loader”属性配置。你能帮忙解释一下吗? –

+2

不幸的是,类加载器委托的建议配置只能在WAR中使用,所以你可能需要创建一个定制的OSGi包。 – Gunnar

+0

非常感谢您的解释。 –

相关问题