2012-05-11 11 views
5

Zur Zeit hat der Hibernate Validator die neueste Version als 4.3.0.Final here veröffentlicht. Ich habe versucht, es zu meiner Glassfish 3.1.2 als folgenden Schritt zu aktualisieren: -Wie wird der Hibernate-Validator 4.3.0.Final auf den Glassfish 3.1.2 aktualisiert?

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. 

Nach über die Google-Suche, ich habe festgestellt, dass die Datei „bohnen validator.jar“ genannt wurde durch die erstellt Glassfish-Team als OSGi-Version. Leider kann ich nicht finden, wie ich es erstelle. Könnten Sie bitte helfen, weiter zu beraten? Vielen Dank für Ihre Hilfe im Voraus. Ich freue mich darauf, bald von Ihnen zu hören.

Antwort

8

Eine (etwas veraltete) Beschreibung, wie Glassfish's Bean-validator.jar zu bauen ist, finden Sie here.

Im Allgemeinen wird ein OSGi-Paket benötigt, das den Hibernate Validator selbst und die Bean Validierungs-API enthält. Mit diesem Bundle sollten Sie in der Lage sein, die ursprüngliche Bean-validator.jar zu ersetzen. Zusätzlich benötigen Sie das JBoss Logging-Bundle, das seit Release 4.3 von Hibernate Validator als Logging-API verwendet wird und bereits in Form eines OSGi-Bundles vorliegt.

Wenn Sie eine Web-Anwendung Gebäude sind, könnten Sie auch HV 4.3 in Ihrer WAR verpacken und turn off Klassenlade Delegation durch die Datei WEB-INF/glassfish-web.xml mit folgenden Inhalten bereitstellt:

<!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> 

auf diese Weise die Klassen HV wird anstatt von dem von Glassfish bereitgestellten Modul aus Ihrer Anwendung geladen werden.

Sie könnten auch interessiert sein an der Ausgabe GLASSFISH-15648, die darauf abzielt, ein dediziertes Glassfish Update-Paket für HV bereitzustellen.

+0

Vielen Dank für Sie kindly Erklärung. Ich würde gerne um Ihre Hilfe bitten, während ich das EJB-Projekt erstelle. Das Glassfish-ejb-jar verfügt nicht über die Eigenschaftskonfiguration "Klassenladeprogramm". Könnten Sie bitte weiter erklären? –

+2

Die vorgeschlagene Konfiguration der Delegierung des Klassenladeprogramms funktioniert leider nur innerhalb von WARs. Daher müssten Sie wahrscheinlich ein benutzerdefiniertes OSGi-Paket erstellen. – Gunnar

+0

Vielen Dank für Ihre Erklärung. –