1

私はnetbeansで超単純なEJBプロジェクトをテストしようと奮闘してきました。私は自分のJavaブックからいくつかの例を試しましたが、オンラインで見つけたさらに簡単な例(http://javadude.wordpress.com/2010/02/22/tutorial-most-simple-test-application-for-embedded-glassfish -netbeans-hudson /)。これは、2つの数値を追加するだけの超基本的なEJBです。それだけです。正常に動作しますが、どのようにテストしようとしても、何も機能しません。さらに不可解なことに、テストした2つの異なるラップトップで2つの異なるエラーが発生します。明らかに私は非常に間違ったことをしています...どんなアドバイスもとてもありがたいです。

私が得る1つのエラーは次のとおりです:

テストケース:testAddNumbers(bean.MyBeanTest):エラーが発生しました利用可能なEJBContainerプロバイダーがありません:プロバイダー名が見つかりませんでした。

javax.ejb.EJBException:使用可能なEJBContainerプロバイダーがありません:プロバイダー名が見つかりませんでした。

もう1つは:


重大:アプリのデプロイ中に例外が発生しましたjava.lang.IllegalArgumentException:無効なejb jar [WebTestEmb.jar]:ゼロのejbが含まれています。注:1。有効なejb jarには、少なくとも1つのセッション、エンティティ(1.x / 2.xスタイル)、またはメッセージ駆動型Beanが必要です。2. EJB3 +エンティティBean(@Entity)はPOJOであり、ライブラリjarとしてパッケージ化してください。3. jarファイルにEJBコンポーネントレベルのアノテーション(@ Stateless、@ Stateful、@ MessageDriven、@ Singleton)でアノテーションが付けられた有効なEJBが含まれている場合は、server.logをチェックしてアノテーションが適切に処理されたかどうかを確認してください。


明らかに、私のプロジェクトにはejbがあります。上記のURLの指示とまったく同じように作成されています。

ありがとう!

4

3 に答える 3

1

私はnetbeansで超単純なEJBプロジェクトをテストしようと奮闘してきました。私は自分のJavaブックからいくつかの例を試しましたが、オンラインで見つけたさらに簡単な例もあります

APIを使用してEJBContainer(テストにEmbedded EJBコンテナを起動するために)、Java EE 6に移行する方法です(Adam Bienは、これについて、Embedding EJB 3.1 Container Into Your Unit Tests-Boot Time:5 Secondsでブログに書いています)。

そうは言っても、次のリンクに興味があるかもしれません。

  • さらに別の第6章EJBの問題
  • バグ179008 -javax.ejb.EJBException:使用可能なEJBContainerプロバイダーがありません:プロバイダー名が見つかりませんでした。
  • バグ180767-テストに埋め込まれたEJBコンテナがMavenプロジェクトで機能しない

どのバージョンのGlassFishを使用していますか?最新の3.0.1を使用していない場合は、試してみることをお勧めします。

于 2010-08-21T23:38:27.337 に答える
0

気にしないでください、私はついにそれを機能させたように見えます。私はこれが理解するのに一週間かかったとは信じられません!

追加:

マッププロパティ=newHashMap(); properties.put(EJBContainer.MODULES、new File( "C:\ Documents and Settings \ tiv \ My Documents \ NetBeansProjects \ WebTestEmb \ build \ web \ WEB-INF \ classes"));

次に、createEJBContainer()呼び出しでこれらのプロパティを使用すると、エラーが修正されます。

于 2010-08-23T21:04:07.880 に答える
0

EJBContainer.MODULESのプロパティに何を書き込んでも、機能したくないだけです。また、このモジュールの回避策はハッキングです。私はそれがこのように機能することになっているとは思わない。これがGlassfishで修正されるまでの間、OpenEJBを試してみます。

今はGlassfishに少しがっかりしています。彼らはすべてが箱から出してうまくいくと言います、そしてそれはそうではありません。設定するオプションはなく、エラーメッセージには何も表示されません...

于 2010-08-25T10:37:26.420 に答える