5

現在、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.

Google で検索したところ、"bean-validator.jar" という名前のファイルが Glassfish チームによって OSGi バージョンとして作成されたことがわかりました。悲しいことに、私はそれを作成する方法を見つけることができません。さらにアドバイスをお願いできますか?よろしくお願いいたします。ご連絡をお待ちしております。

4

2 に答える 2

8

Glassfish の bean-validator.jar を構築する方法の (少し古い) 説明は、ここにあります。

一般的に必要なのは、Hibernate Validator 自体と Bean Validation API を含む OSGi バンドルです。このバンドルを使用すると、元の bean-validator.jar を置き換えることができるはずです。さらに、リリース 4.3 以降、Hibernate Validator によってロギング API として使用され、OSGi バンドルの形式ですでに提供されている JBoss Logging バンドルが必要です。

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>

そうすれば、Glassfish が提供するモジュールからではなく、アプリケーションから HV クラスがロードされます。

HV 専用の Glassfish 更新パッケージを提供することを目的とした問題GLASSFISH-15648にも興味があるかもしれません。

于 2012-05-12T16:42:08.573 に答える
3

私の場合は、 Gunnarの提案に基づくのでearはなく、パッチを適用したバージョンのモジュールを作成しました。これは、にデプロイできます(私のバージョンは)。warGlassfish3.1.1 OSE

誰かがそれでも役立つと思うかもしれません。私の解決策については私のブログを参照してください(ステップバイステップのアプローチを含む):http://peter-butkovic.blogspot.de/2012/11/glassfish-311-oss-with-hibernate.html

于 2012-11-16T11:57:59.977 に答える