1

別のグループからプロジェクトを引き継ぎました。EJB セッション Bean / Web サービス。JavaCAPS 6 に問題なくデプロイされました。

ただし、Oralce Glassfish V3 (3.0.1 ビルド 22) で、jar ファイル (アプリケーション/EJB モジュール) をデプロイすると、特定の外部ライブラリ (jar に含まれる) が見つからないと不平を言い続けました。

注釈処理のエラー: java.lang.NoClassDefFoundError: org/apache/commons/vfs/FileSystemException|#]

Apache VFS jar は jar 内にありますが、見つかりません。

ただし、jar とその依存関係を $Glassfish home/domains/domain1/lib に移動すると、

すべて順調。

ここで何が間違っていますか?

ありがとう

4

1 に答える 1

2

v2.* では、ejb モジュールのルート レベル ライブラリ jar がサポートされていましたが、JAVA EE 6 のセキュリティ制限により、glasssfish V3.1 は展開する ejb-jar モジュール (*.jar ファイル) 内の jar ライブラリをサポートしていません。したがって、compatibility=v2 プロパティを使用してデプロイできます

例えば;

asadmin {server_parameters} deploy --property compatibility=v2 {package}.jar 

回避策 注: Glassfish V3.0 では、互換性プロパティはサポートされていません。V3.1 をアップグレードするか、ライブラリを {GlassfishHome}/lib ディレクトリに配置する必要があります

于 2010-12-03T08:23:35.257 に答える