SeamFramework.orgCommunity Documentation
Websphere AS V7 は IBMの提供するアプリケーションサーバーです。このリリースは、完全な Java EE 5 認定プロダクトです。
最初に、サンプルのために使用する WebSphere AS 環境に関しての基礎的な情報を詳しく述べます。JEE5 booking サンプルでそれらのステップの詳細を説明します。 JPA サンプルアプリケーションもデプロイします。
WebSphere AS は商用製品なので、特定のインストールタイプやライセンスについて提供される手順などのインストールの詳細については説明しません。ここでは、すべてのサンプルを動作させるのに必要となる使用したサーバの正確なバージョンと、インストールのヒント、カスタムプロパティについて詳しく述べます。
この章のサンプルと情報は、すべて執筆時の Websphere AS のバージョン V7 に基づいています。
もし、インストールプロセスでプロファイルを作成しない場合は、WebSphere AS をインストールした後で、Profile Management Tool でサーバープロファイルを作成してください。
jee5/booking
サンプルは、(JBoss AS 上で動作する) ホテル予約サンプルに基づいています。そのままで GlassFish 上で動作するように設計されていますが、以下の手順で Websphere 上でも動作させることができます。このサンプルは $SEAM_DIST/examples/jee5/booking
にあります。
雛形のサンプルに対して必要となる構成ファイルの変更点は以下の通りです。
resources/WEB-INF/components.xml
WAS では EJB をルックアップする際の名前を変更する必要があります。jndi-pattern
属性の最後から /local
を取り除く必要があります。以下のように変更します。
<core:init jndi-pattern="java:comp/env/jboss-seam-jee5/#{ejbName}" debug="true"/>
resources/META-INF/ejb-jar.xml
ejb-ref-name
から、/local 文字列を置き換える必要があります。次の最終コードを見てください。
<enterprise-beans>
<!-- EJB reference required when one Seam EJB component references another Seam EJB component using @In -->
<!-- Not required if you inject using @EJB, but then you lose state management and client-side interceptors (e.g., security) -->
<session>
<ejb-name
>RegisterAction</ejb-name>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Authenticator</local>
</ejb-local-ref>
</session>
</enterprise-beans
>
resources/WEB-INF/web.xml
次に、web.xml
の EJB 参照について変更を行う必要があります。これらは、WAS が EAR モジュール内の EJB3 参照を、実際には EAR モジュール内にある EJB3 の Bean にバインドすることを可能にするための変更です。ejb-local-refs
のすべての /local 文字列を以下の値で置き換えてください。
<!-- JEE5 EJB3 names -->
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Authenticator</local>
</ejb-local-ref
>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/BookingListAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.BookingList</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/RegisterAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Register</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/ChangePasswordAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.ChangePassword</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/HotelBookingAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.HotelBooking</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/HotelSearchingAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.HotelSearching</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/EjbSynchronizations</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref
>
EjbSynchronizations
は Seam の組み込みEJB であって、ホテル予約サンプルの一部ではないことにも注意してください。このことにより、アプリケーションの components.xml
の中で transaction:ejb-transaction
を指定すれば、web.xml の中に以下の設定を含めなければならないことになります。
<ejb-local-ref>
<ejb-ref-name
>myapp/EjbSynchronizations</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local-home
></local-home>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref>
web.xml の中で上記の設定を行わなければ、以下のエラーが発生します。
Name comp/env/myapp/EjbSynchronizations not found in context java:
resources/META-INF/persistence.xml
このサンプルでは、WAS のデフォルトのデータソースを使用します。そのため、jta-data-source
要素を変更します。
<jta-data-source
>DefaultDatasource</jta-data-source>
Hibernate プロパティを設定する必要があります。まず最初に GlassFish プロパティをコメントアウトします。次に以下のプロパティを追加修正する必要があります。
<!--<property name="hibernate.transaction.flush_before_completion" value="true"/>-->
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
hibernate.transaction.manager_lookup_class
— WAS 6.X、7 用の標準 Hibernate トランザクションマネージャ
hibernate.transaction.flush_before_completion
— コメントアウトします。コンテナ管理トランザクションを使用するためです。これを true
に設定すると、EJBContext をルックアップした時に、WAS が例外をスローします。
com.ibm.wsspi.injectionengine.InjectionException: EJBContext may only be looked up by or injected into an EJB
hibernate.dialect
— WAS 6.1.0.9 から組み込み DB は、GlassFish v2 と同じ Derby DB に変更されました。
src/GlassfishDerbyDialect.java
GlassfishDerbyDialect.java
を入手して /src
ディレクトリにコピーしなければなりません。このクラスは JPA サンプルのソースディレクトリ中にあり、jee5/booking
ディレクトリから以下のコマンドを使用してコピーできます。
cp ../../jpa/src/GlassfishDerbyDialect.java ./src
このクラスを jboss-seam-jee5.jar
ファイルの中に入れます。
resources/import.sql
Derby DB とダイアレクトのいずれも ID
カラムの生成をサポートしないので、JPA サンプルからこのファイルをコピーしなければなりません。ファイルは、ID カラムの違い以外は同一です。 以下のコマンドを使用してコピーしてください
cp ../../jpa/resources-websphere7/import.sql ./resources
アプリケーションに行った変更を有効にするには、build.xml
を変更する必要があります。アプリケーションを WAS で動作させるためには、jar を追加する必要があります。ここでは、 build.xml
で必要となる変更点を説明します。
アプリケーションからのログ出力すべてが WAS のログに追加されるようにするために、log4j.jar
を削除します。log4j を完全に構成するには追加の手順が必要ですが、それはこのドキュメントの範囲を越えます。
以下のエントリを build.xml
ファイルの最後に追加してください。これは、 jboss-seam-jee5.jar
に含めるのに使用するデフォルトの fileset を再設定します。
<fileset id="jar.resources" dir="${resources.dir}">
<include name="import.sql" />
<include name="seam.properties" />
<include name="META-INF/persistence.xml" />
<include name="META-INF/ejb-jar.xml" />
</fileset
>
最後に残された作業は、 ant archive
タスクを実行することです。アプリケーションは、jee5/booking/dist
ディレクトリにビルドされます。
必要なものはすべて所定の位置に揃いました。残されたことはデプロイすることです - あとわずか数ステップの手順です。
デプロイには、WebSphere の管理コンソールを使用します。従来どおり従われなければならない手順とヒントがあります。
以下の手順は、上記で述べたバージョンの WAS での手順です。ポート番号はデフォルト値ですが、それらを変更しているのなら置き換えてください。
https://localhost:9043/admin
から、administration console にログインします。もしくは、
http://localhost:9060/admin
Applications --> Application Type
左サイドメニューの下にある Websphere enterprise applications
メニューオプションにアクセスしてください。
Enterprise Applications
テーブルの先頭で Install
を選択してください。以下はインストールウィザードページの各々で、実行すべき手順です。
アプリケーションのインストール準備
ファイルアップロードのウィジェットを使用して、ブラウザで examples/jee5/booking/dist/jboss-seam-jee5.ear
ファイルを指定してください。
Next
ボタンを選択してください。
Fast Path
ボタンを選択してください。
Next
ボタンを選択してください。
インストールオプションの選択
Deploy enterprise beans
と Allow EJB reference targets to resolve automatically
チェックボックスを選択してください。アプリケーションのパッケージングに WebSphere AS ツールを使用していなければ、これが必要となります。
Next
ボタンを選択してください。
サーバへモジュールのマップ
一台のサーバで使用する限りでは変更は必要ありません。Next
ボタンを選択してください。
Summary (要約)
ここでは変更は必要ありません。Finish
ボタンを選択してください。
Installation (インストール)
アプリケーションがインストールされてデプロイされます。
Save
リンクを選択すると、Enterprise Applications
テーブルに戻ります。
アプリケーションのインストールが完了しましたが、実行の前にいくつかの調整をする必要があります。
Enterprise Applications (エンタープライズアプリケーション)
テーブルで Seam Booking
リンクを選択するところから始めてください。
Manage Modules
リンクを選択してください。
jboss-seam-jee5-booking.war
lリンクを選択してください。
Class loader order
コンボボックスを Classes loaded with application class loader first (parent last)
に変更してください。
Apply (適用)
を選択し、Save (保存)
オプションを選択してください。
Seam Booking
ページに戻ります。
このページで Class loading and update detection
リンクを選択してください。
ラジオボタンで Classes loaded with application class loader first
を選択してください。
Apply (適用)
を選択し、Save (保存)
オプションを選択してください。
アプリケーションを開始するために Enterprise Applications (エンタープライズアプリケーション)
テーブルに戻って、リストの中からサンプルのアプリケーションを選択してください。テーブルの先頭で Start
ボタンを選択してください。
http://localhost:9080/seam-jee5-booking/index.html
からアプリケーションにアクセスできます。
幸いなことに jpa
サンプルを動作させるのは、 jee5
サンプルよりも簡単です。これはホテル予約サンプルを Seam POJOs で実装したもので、Hibernate JPA を JPA トランザクションとともに使用します。 実行には EJB3 サポートを必要としません。
サンプルには、Websphere も含めた多くのコンテナ用の構成とビルドスクリプトが既に用意されています。
最初に行うことは、サンプルのビルトとデプロイです。そのあとに必要な設定変更を行います。
ビルドに必要なことは、正しく ant コマンドを実行することだけです。
ant websphere7
これは、コンテナに対応したアーカイブと、websphere7
という名前の展開形式のディレクトリアーカイブを作成します。
これは jee5
サンプルの 項40.2.3. 「Websphere へのアプリケーションのデプロイ」 と類似していますが、多くの手順は必要ありません。
Enterprise Applications (エンタープライズアプリケーション)
テーブルから Install (インストール)
ボタンを選択してください。
アプリケーションのインストール準備
ファイルアップロードのウィジェットを使用して、ブラウザで examples/jpa/dist-websphere7/jboss-seam-jpa.war
ファイルを指定してください。
Fast Path
ボタンを選択してください。
Next
ボタンを選択してください。
Next
ボタンを選択して、3 ページ先まで進んでください。そこまで変更は必要ありません。
コンテキストルートへの Web モジュールのマップ
Context root
テキストボックスに jboss-seam-jpa
を入力してください。
Next
ボタンを選択してください。
Summary (要約)
ページ
お望みなら設定を確認して、Finish (完了)
ボタンを選択してアプリケーションのインストールを完了してください。インストールが完了して Save (保存)
リンクを選択すると Enterprise Applications (エンタープライズアプリケーション)
テーブルに戻ります。
jee5
サンプルについては、アプリケーションの実行に前にクラスローダを変更する必要があります。 installation adjustments for jee5 example の手順に従ってください。ただし、Seam Booking
を jboss-seam-jpa_war
と置き換えて使用してください。
最後にアプリケーションを開始するには、Enterprise Applications (エンタープライズアプリケーション)
テーブルでアプリケーションを選択して Start (開始)
ボタンをクリックしてください。
http://localhost:9080/jboss-seam-jpa/index.html
からアプリケーションにアクセスできます。
JBoss 4.2 と Websphere AS V7 にデプロイされる JPA サンプルの相違点は、多くがライブラリと構成ファイルです。
構成ファイルの変更
META-INF/persistence.xml
— 必要な主な変更点は、データソース JNDI の変更、Websphere トランザクションマネージャのルックアップクラスへの変更、Hibernate ダイアレクトを GlassfishDerbyDialect
に変更することです。
WEB-INF/components.xml
— ここでの変更点は、 /local 文字列の無い jndi-pattern
にすることです。
META-INF/ejb-jar.xml
— ejb-ref-name
の場合と同様に、/local 文字列は jboss-seam-jee5/AuthenticatorAction
で置き換えられる必要があります。
src/GlassfishDerbyDialect.java
— このクラスは、Hibernate ダイアレクトを GlassfishDerbyDialect
に変更するのに必要です。
import.sql
— ダイアレクトと Derby DB のいずれでも ID
カラムは生成されないので、このファイルから削除されています。
依存ライブラリの変更
Websphere には、JBoss AS に含まれていたライブラリのうちでないものがあるので、いくつかのライブラリパッケージが必要となります。これらは、主に Hibernate ととその依存ライブラリです。以下は、JBoss JPA
サンプルに必要な追加の jar のリストです。
Hibernate を JPA provider プロバイダとして使用するためには、以下の jar が必要です。
hibernate.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
hibernate-validator.jar
commons-collections.jar
jboss-common-core.jar
WebSphere が必要とするさまざまなサードパーティ jar。
antlr.jar
cglib.jar
asm.jar
dom4j.jar
javassist.jar
concurrent.jar
seam-gen
は、開発者が素早くアプリケーションを準備して動作させるのにとても役に立つツールで、独自の機能を追加するための雛形を用意します。seam-gen
はそのままで JBoss AS で動作するように構成されたアプリケーションを生成します。以下の手順では、Websphere 上で動作させるために必要なステップを示します。項40.2. 「jee5/booking
サンプル 」 で述べたように、EJB3 アプリケーションを動作させるには変更が必要です。このセクションでは、その正確な手順を示します。
第一ステップは、雛形となるプロジェクトを生成できるように seam-gen
をセットアップすることです。以下に実行したように、設定すべき項目がいくつかあります。特に、データソースと Hibernate の設定値は、プロジェクトを生成する環境に合わせて設定します。
./seam setup Buildfile: build.xml init: setup: [echo] Welcome to seam-gen :-) [input] Enter your Java project workspace (the directory that contains your Seam projects) [C:/Projects] [C:/Projects] /home/jbalunas/workspace [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.3.GA] [C:/Program Files/jboss-4.2.3.GA] /home/jbalunas/jboss/jboss-4.2.3.GA [input] Enter the project name [myproject] [myproject] websphere_example [echo] Accepted project name as: websphere_example [input] Do you want to use ICEFaces instead of RichFaces [n] (y, [n], ) [input] skipping input as property icefaces.home.new has already been set. [input] Select a RichFaces skin [blueSky] ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT) [input] Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support) [ear] ([ear], war, ) [input] Enter the Java package name for your session beans [org.jboss.seam. tutorial.websphere.action] [org.jboss.seam.tutorial.websphere.action] org.jboss.seam.tutorial.websphere.action [input] Enter the Java package name for your entity beans [org.jboss.seam. tutorial.websphere.model] [org.jboss.seam.tutorial.websphere.model] org.jboss.seam.tutorial.websphere.model [input] Enter the Java package name for your test cases [org.jboss.seam. tutorial.websphere.action.test] [org.jboss.seam.tutorial.websphere.action.test] org.jboss.seam.tutorial.websphere.test [input] What kind of database are you using? [hsql] ([hsql], mysql, oracle, postgres, mssql, db2, sybase, enterprisedb, h2) [input] Enter the Hibernate dialect for your database [org.hibernate. dialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect] [input] Enter the filesystem path to the JDBC driver jar [/tmp/seam/lib/hsqldb.jar] [/tmp/seam/lib/hsqldb.jar] [input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriver] [org.hsqldb.jdbcDriver] [input] Enter the JDBC URL for your database [jdbc:hsqldb:.] [jdbc:hsqldb:.] [input] Enter database username [sa] [sa] [input] Enter database password [] [] [input] Enter the database schema name (it is OK to leave this blank) [] [] [input] Enter the database catalog name (it is OK to leave this blank) [] [] [input] Are you working with tables that already exist in the database? [n] (y, [n], ) [input] Do you want to drop and recreate the database tables and data in import.sql each time you deploy? [n] (y, [n], ) [propertyfile] Creating new property file: /rhdev/projects/jboss-seam/svn-seam_2_2/jboss-seam-2_2/seam-gen/build.properties [echo] Installing JDBC driver jar to JBoss server [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.3.GA/server/default/lib [echo] Type 'seam create-project' to create the new project BUILD SUCCESSFUL Total time: 3 minutes 5 seconds
プロジェクトを作成するためには、 ./seam new-project
と入力してください。そして cd /home/jbalunas/workspace/websphere_example
と入力して新しく作成されたディレクトリへ移動してください。
生成されたプロジェクトに変更を行う必要があります。
resources/META-INF/persistence-dev.xml
jta-data-source
を DefaultDatasource
に修正してください。組み込みの Websphere DB を使用します。
以下のプロパティを追加修正してください。項40.2. 「jee5/booking
サンプル 」 に詳細が説明されています。
<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
EntityManagerFactory を定義する JBoss AS 固有のメソッドを取り除いてください。
<property
name="jboss.entity.manager.factory.jndi.name"
value="java:/websphere_exampleEntityManagerFactory">
prod プロファイルを使用して Websphere にデプロイしたければ、persistence-prod.xml
も同様に修正する必要があります。
src/GlassfishDerbyDialect.java
他のサンプルと同様に、データベースサポートのためのこのクラスを含める必要があります。jpa
サンプルから websphere_example/src
ディレクトリへコピーしてください。
cp $SEAM/examples/jpa/src/GlassfishDerbyDialect.java ./src
resources/META-INF/jboss-app.xml
JBoss AS にはデプロイしないのでこのファイルを削除できます (JBoss AS では jboss-app.xml
を使用して、クラスローディングの分離を有効にします)
resources/*-ds.xml
JBoss AS にはデプロイしないのでこのファイルを削除できます (これらのファイルは、JBoss AS ではデータソースを定義していますが、Websphere ではデフォルトのデータソースを使用しています)
resources/WEB-INF/components.xml
コンテナ管理トランザクション統合を有効にします - <transaction:ejb-transaction />
コンポーネントと、その名前空間宣言 xmlns:transaction="http://jboss.com/products/seam/transaction"
を追記してください
jndi-pattern
を java:comp/env/websphere_example/#{ejbName}
に修正します
このサンプルでは、managed-persistence-context
は必要ではないので、そのエントリは削除します。
<persistence:managed-persistence-context name="entityManager"
auto-create="true"
persistence-unit-jndi-name="java:/websphere_exampleEntityManagerFactory"/>
resources/WEB-INF/web.xml
jee5/booking
サンプルと同様に、web.xml に EJB 参照を加える必要があります。これらの EJB 参照には、Websphere が適切なバインディングを実行するために、/local 文字列を ejb-ref-name
に置き換える必要があります。
<ejb-local-ref>
<ejb-ref-name
>websphere_example/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.tutorial.websphere.action.Authenticator</local>
</ejb-local-ref
>
<ejb-local-ref>
<ejb-ref-name
>websphere_example/EjbSynchronizations</ejb-ref-name
>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref
>
既存の Authenticator
Seam POJO コンポーネントを利用して、EJB3 を作成します。
作成された Authenticator クラスを変更します。
クラス名を AuthenticatorAction
に変更します
@Stateless
アノテーションを新しい AuthenticatorAction
クラスに付与します。
AuthenticatorAction
が実装する Authenticator
という名前のインタフェースを作成してください (EJB3 ではセッション Bean にローカルインタフェースが必要)。インタフェースに @Local
アノテーションを付与し、AuthenticatorAction
の authenticate
と同じシグニチャのメソッドを一つ追加してください。
@Name("authenticator")
@Stateless
public class AuthenticatorAction implements Authenticator {
@Local
public interface Authenticator {
public boolean authenticate();
}
すでに web.xml
ファイルには EJB 参照を追加したので、次に進めます。
このアプリケーションは、jee5/booking
サンプルと同様の変更が必要となります。
デフォルトのターゲットを archive
に変更します (Websphere への自動的なデプロイを行いません)。
<project name="websphere_example" default="archive" basedir=".">
Websphere は、websphere_example.jar
のルートではなく war
ファイルのルートで drools の /security.drl
ファイルを探すので、ビルド時には正しい場所へ移動させるように build.xml
に設定する必要があります。以下の変更は、 <target name="war" depends="compile" description="Build the distribution .war file">
ターゲットの先頭に追加しなければなりません。
<copy todir="${war.dir}">
<fileset dir="${basedir}/resources" >
<include name="*.drl" />
</fileset>
</copy>
追加の jar を build.xml
に入れる必要があります。以下のタスクの <fileset dir="${basedir}">
セクションを探してください。fileset の最後に新しい include を追加してください。
<target name="ear" description="Build the EAR">
<copy todir="${ear.dir}">
<fileset dir="${basedir}/resources">
<include name="*jpdl.xml" />
<include name="*hibernate.cfg.xml" />
<include name="jbpm.cfg.xml" />
</fileset>
<fileset dir="${basedir}">
<include name="lib/jbpm*.jar" />
<include name="lib/jboss-el.jar" />
<include name="lib/drools-*.jar"/>
<include name="lib/core.jar"/>
<include name="lib/janino*.jar"/>
<include name="lib/antlr-*.jar"/>
<include name="lib/mvel*.jar"/>
<include name="lib/richfaces-api*.jar" />
</fileset>
</copy>
<copy todir="${ear.dir}/META-INF">
<fileset dir="${basedir}/resources/META-INF">
<include name="application.xml" />
<include name="jboss-app.xml" />
</fileset>
</copy>
</target
>
Hibernate 依存関係を追加してください。
<!-- Hibernate and deps -->
<include name="lib/hibernate.jar"/>
<include name="lib/hibernate-commons-annotations.jar"/>
<include name="lib/hibernate-annotations.jar"/>
<include name="lib/hibernate-entitymanager.jar"/>
<include name="lib/hibernate-validator.jar"/>
<include name="lib/jboss-common-core.jar" />
サードパーティ依存関係を追加してください。
<!-- 3rd party and supporting jars -->
<!--<include name="lib/log4j.jar" />-->
<include name="lib/javassist.jar"/>
<include name="lib/dom4j.jar" />
<include name="lib/concurrent.jar" />
<include name="lib/cglib.jar"/>
<include name="lib/asm.jar"/>
<include name="lib/antlr.jar" />
<include name="lib/commons-logging.jar" />
<include name="lib/commons-collections.jar" />
jboss-seam.jar
- これは ear
のベースディレクトリで必要となります。
<!-- seam jar -->
<include name="lib/jboss-seam.jar" />
最後には以下のようになります。
<fileset dir="${basedir}">
<include name="lib/jbpm*.jar" />
<include name="lib/jboss-el.jar" />
<include name="lib/drools-*.jar"/>
<include name="lib/core.jar"/>
<include name="lib/janino*.jar"/>
<include name="lib/antlr-*.jar"/>
<include name="lib/mvel*.jar"/>
<include name="lib/richfaces-api*.jar" />
<!-- Hibernate and deps -->
<include name="lib/hibernate.jar"/>
<include name="lib/hibernate-commons-annotations.jar"/>
<include name="lib/hibernate-annotations.jar"/>
<include name="lib/hibernate-entitymanager.jar"/>
<include name="lib/hibernate-validator.jar"/>
<include name="lib/jboss-common-core.jar" />
<!-- 3rd party and supporting jars -->
<include name="lib/javassist.jar"/>
<include name="lib/dom4j.jar" />
<include name="lib/concurrent.jar" />
<include name="lib/cglib.jar"/>
<include name="lib/asm.jar"/>
<include name="lib/antlr.jar" />
<include name="lib/commons-logging.jar" />
<include name="lib/commons-collections.jar" />
<!-- seam jar -->
<include name="lib/jboss-seam.jar" />
</fileset
>
プロジェクトのベースディレクトリ (例えば /home/jbalunas/workspace/websphere_example
) で ant
を実行してアプリケーションをビルドしてください。ビルドされるターゲットファイルは dist/websphere_example.ear
です。
アプリケーションをデプロイするには、 項40.2.3. 「Websphere へのアプリケーションのデプロイ」 の手順に従ってください 。ただし、jboss-seam-jee5
の代わりにこのプロジェクト websphere_example
へ置き換えて使用してください。
http://localhost:9080/websphere_example/index.html
をブラウズしてアプリケーションを確認してください。