0

Java エンタープライズ アプリケーション クラスのプロジェクトを開発しています。シンプルな Twitter のようなデータベースに接続するクラス ライブラリの「ファサード」クラスを持つ ejb モジュールを使用したアプリケーションがあります。すべてのロジックは正常に動作していますが、ファサード用のリモート Bean を追加して実行しようとすると、最後にスタック トレースが含まれてアプリケーションがクラッシュします。

GlassFish の出力画面をよく見てみると、次の警告が見つかりました。

警告: ACDEPL112: 次の拡張機能またはライブラリは、C:\Users[project_path]\Questions\dist\gfdeploy\Questions\QuestionClient.jar のマニフェストから参照されていますが、示されている場所では見つかりませんでした: QuestionLib.jar ; 無視して続行します INFO: ACDEPL103: アプリ クライアントの Java Web Start サービスが開始しました Questions/QuestionClient.jar (contextRoot: /Questions/QuestionClient) INFO: Questions は 3,097 ミリ秒で正常にデプロイされました。警告: メタモデル [EntityType] タイプのコレクションが空です。Java SE および一部の Java EE コンテナ管理永続ユニットのエンティティ検索中に、モデル クラスが見つからない場合があります。要素またはグローバルな false 要素を使用して、persistence.xml でエンティティ クラスが参照されていることを確認してください。[class com.problemSet3.db.Questions] のルックアップは null を返します。警告:

パスを確認したところ、記載されている .jar ファイルが本来あるべき場所に存在することがわかりましたが、代わりにQuestionLib_jarという名前が付けられており、jar ファイルのすべてのコンテンツを含むフォルダーです。このファイルは NetBeans によって生成されています。実際の jar ファイルではなく、jar ファイルがどのようにフォルダーにコンパイルされているのかわかりません。

どうすればこれを修正できますか?

スタックトレース

Questions] - 特定の com.problemSet3.db.Questions プロパティまたはグローバルな false 要素を使用して、persistence.xml で [Entity] クラスが参照されていることを確認してください。org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entityEmbeddableManagedTypeNotFound(MetamodelImpl.java:173) で org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:193) で org.eclipse .persistence.internal.jpa.querydef.CommonAbstractCriteriaImpl.internalFrom(CommonAbstractCriteriaImpl.java:114) at org.eclipse.persistence.internal.jpa.querydef.AbstractQueryImpl.from(AbstractQueryImpl.java:246) at com.problemSet3.db.AbstractFacade .findAll(AbstractFacade.java:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.

4

1 に答える 1

2

さて、つらい夜と朝の後、私はついにそれを解決しました. ejb モジュールで使用されていた persistence.xml ファイルには、次の行がありました。

<exclude-unlisted-classes>false</exclude-unlisted-classes>

プロパティに入り、各クラスを手動で含めるようにしたので、次のようになります。

<class>com.problemSet3.db.Answers</class>
<class>com.problemSet3.db.Questions</class>
<class>com.problemSet3.db.Users</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>

加えて、他の生成されたコード。GlassFish でまだ警告が表示されますが、例外はスローされません。

于 2013-11-11T19:44:00.517 に答える