0

EJB2.1 を使用するプロジェクトと EJB3.x を使用するプロジェクトの 2 つのプロジェクトを 2 つ開発する必要があります。EJB2.1 は既存のプロジェクトの拡張であるため、v2.1 であり、まだ 3.x に移行することはできません。

どちらのプロジェクトも Maven を使用してビルドする必要があり、これが私が苦労しているところです。信じられないかもしれませんが、Maven を使用して構築されたステートレス EJB プロジェクトの簡単な例を見つけるためにこの 3 日間を費やしましたが、うまくいきませんでした。

グーグルで見つけたいくつかのポインターを次に示しますが、どれも機能しません。

  • Eclipse を使用してプロジェクトを作成する

Eclipse では、EJB3 プロジェクトを作成できます。最新バージョンでは、EJB2 プロジェクトを作成できません。また、Maven EJB プロジェクトを作成することもできません。

  • Maven アーキタイプを使用します。

Mavenで次のアーキタイプを試しましたが、どれも機能しません

ejb2-j2ee13
ejb2-j2ee14
ejb-javaee6
ejb-jee5
ear-jee5
ejb-jee5

上記のアーキタイプは EJB3 専用です。または、v2.x 用のアーキタイプにはいくつかの依存関係がありません。

  • Jboss サンプル プロジェクト

Jboss ドキュメントhttp://anonsvn.jboss.org/repos/jbossas/projects/ejb3/trunk/docs/tutorial/reference21_30/で次のチュートリアルも見つけました。Jboss v5.1 で EJB を使用する予定です。この URL のプロジェクトは Maven プロジェクトですが、依存関係が見つからないという不満もあります (Ant ビルドは機能します)。

EJB2.x と EJB3.x (Jboss 5.1.x で実行される) の両方でバニラの「Hello world」maven プロジェクトをダウンロードできる場所を教えていただければ、本当に感謝しています。

私はグーグルで多くの時間を費やしてきましたが、どこにも行けないので、最終的にここで質問することにしました. 人々がEJB2.xをもう使用したくないため、これらの依存関係を見つけるのが難しくなっているのではないかと思います。問題は、他に選択肢がない人がいるということです。

4

1 に答える 1

1

Java EE5またはJEE6のアーキタイプは本当に必要ありません。ボイラープレートコードはほとんどないため、必要なのは通常のJavaアーキタイプと依存関係を追加することだけです

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

また

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>5.0</version>
    <scope>provided</scope>
</dependency>

beans.xml を追加すれば完了です。JBoss の依存関係を回避することは、実際には良い方法です。これにより、アプリケーションの移植性が維持されます。

注: それぞれの javax.XXX パッケージのクラスをモックまたは使用する場合は、アプリケーション サーバー固有の依存関係を Maven テスト スコープに含める必要があります。これは、Sun/Oracle が API jar のバイトコードを変更して、サーバーが提供するクラスの代わりにこれらのクラスを誤って使用する人がいないことを保証するためです。

于 2012-12-09T15:19:44.077 に答える