SeamFramework.orgCommunity Documentation
Seam は JDK 1.4 とは動作しないため、 アノテーションや他の JDK 5 機能を使用する JDK 5 またはそれ以降が必要となります。 Seam は Sun の JDK を使い全体的にテストが行われています。 ただし、 他の JDK による Seam 固有の既知の問題はありません。
Sun の JDK 6 の旧バージョンには JAXB の非互換バージョンが含まれていたため "endorsed" ディレクトリを使って上書きする必要がありました。 Sun の JDK 6 Update 4 リリースは JAXB 2.1 にアップグレードされたのでこの必要性がなくなりました。 ビルド、 テスト、 実行などを行う際はこのバージョンまたはこれ以降のバージョンを使用してください。
Seam はそのユニットおよび統合のテストに JBoss Embedded を使用していました。 JDK 6 を使用する際はこれに追加して必要な事項があります。 JBoss Embedded を JDK 6 で実行するには、 次の JVM 引数をセットする必要があります。
-Dsun.lang.ClassLoader.allowArraySyntax=true
Seam のテストスィートを実行する場合、 Seam の内部ビルドシステムはデフォルトでこれを設定しています。 ただし、 テストに JBoss Embedded も使用する場合はこの値のセットが必要になります。
本セクションでは Seam のコンパイルタイムとランタイムの両方の依存性を列挙します。 タイプが ear
と記載されている場合、 ライブラリがアプリケーションの ear ファイルの /lib ディレクトリ内に含まれていなければなりません。 タイプが war
と記載されている場合、 ライブラリをアプリケーションの war ファイルの /WEB-INF/lib
ディレクトリに配置する必要があります。 依存性のスコープは all、 runtime、 もしくは provided (JBoss AS 4.2 により) のいずれかになります。
最新のバージョン情報および完全な依存性情報は本ドキュメントには含まれていませんが、 /dependency-report.txt
に記載されています。 これは /build
に格納される Maven POM で生成されます。 ant dependencyReport
を実行するとこのファイルを生成することができます。
表 40.1.
名前 |
範囲 |
タイプ |
注記 |
---|---|---|---|
|
all |
ear |
コアの Seam ライブラリで、 常に必要となります。 |
|
runtime |
war |
Seam のデバッグ機能を有効にするとき開発時に含めます。 |
|
runtime |
war |
Spring と Seam を併用する場合に必要となります。 |
|
runtime |
war |
Seam の PDF 機能を使用する場合に必要となります。 |
|
runtime |
war |
Seam の Microsoft® Excel® 機能を使用する場合に必要となります。 |
|
runtime |
war |
Seam の RSS 生成機能を使用する場合に必要となります。 |
|
runtime |
war |
Seam Remoting を使用する場合に必要となります。 |
|
runtime |
war |
Seam JSF コントロールの使用に必要となります。 |
|
provided |
JSF API | |
|
provided |
JSF リファレンス実装 | |
|
runtime |
war |
Facelets です。 |
|
runtime |
war |
URL Rewrite ライブラリです。 |
|
runtime |
ear |
Seam の非同期機能で Quartz を使用したい場合に必要となります。 |
表 40.2. RichFaces の依存性
名前 |
範囲 |
タイプ |
注記 |
---|---|---|---|
|
all |
ear |
RichFaces の使用に必要となります。 ツリーの作成などアプリケーションからの使用を可能にする API クラスを提供します。 |
|
runtime |
war |
RichFaces の使用に必要となります。 |
|
runtime |
war |
RichFaces の使用に必要となります。 all の UI コンポーネントを提供します。 |
表 40.3. Seam Mail の依存性
名前 |
範囲 |
タイプ |
注記 |
---|---|---|---|
|
runtime |
ear |
添付のサポートに必要となります。 |
|
runtime |
ear |
メール送信サポートに必要となります。 |
|
compile |
着信メールのサポートに必要となります。 mail-ra.rar はランタイムにアプリケーションに対してデプロイされなければなりません。 | |
|
runtime |
war |
Seam Mail のコアライブラリになります。 |
表 40.4. Seam PDF の依存性
名前 |
タイプ |
範囲 |
注記 |
---|---|---|---|
|
runtime |
war |
PDF ライブラリ |
|
runtime |
war |
チャートライブラリ |
|
runtime |
war |
JFreeChart で必要とされます。 |
|
runtime |
war |
Seam PDF のコアライブラリになります。 |
表 40.5. Seam Microsoft® Excel® の依存性
名前 |
タイプ |
範囲 |
注記 |
---|---|---|---|
|
runtime |
war |
JExcelAPI ライブラリです。 |
|
runtime |
war |
Seam Microsoft® Excel® のコアライブラリになります。 |
表 40.6. Seam RSS の依存性
名前 |
タイプ |
範囲 |
注記 |
---|---|---|---|
|
runtime |
war |
YARFRAW RSS ライブラリです。 |
|
runtime |
war |
JAXB XML 解析ライブラリです。 |
|
runtime |
war |
Apache HTTP Client のライブラリです。 |
|
runtime |
war |
Apache commons IO ライブラリです。 |
|
runtime |
war |
Apache commons 言語ライブラリです。 |
|
runtime |
war |
Apache commons codec ライブラリです。 |
|
runtime |
war |
Apache commons collections ライブラリです。 |
|
runtime |
war |
Seam RSS のコアライブラリです。 |
JBoss Rules のライブラリは Seam の drools/lib
ディレクトリにあります。
表 40.7. JBoss Rules の依存性
名前 |
範囲 |
タイプ |
注記 |
---|---|---|---|
|
runtime |
ear |
ANTLR 実行ライブラリ |
|
runtime |
ear |
Eclipse JDT ライブラリ |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear |
これらのライブラリは、 Seam アプリケーションで Google Web Toolkit (GWT) を使用したい場合に必要となります。
これらのライブラリは Seam アプリケーションで Spring Framework を使用したい場合に必要となります。
Maven は推移的依存性の管理に対するサポートを提供するため Seam プロジェクトの依存性管理に使用することができます。 Maven Ant Tasks を使って Maven を Ant のビルドに統合したり、 Maven を使ってプロジェクトのビルドおよびデプロイを行うこともできます。
ここでは Maven の使い方については触れませんが利用できる基本的な POM をいくつか見てみることにします。
Released versions of Seam are available in http://repository.jboss.org/maven2 and nightly snapshots are available in http://snapshots.jboss.org/maven2.
Seam の全アーティファクトは Maven にあります。
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam</artifactId>
</dependency
>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam-ui</artifactId>
</dependency
>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam-pdf</artifactId>
</dependency
>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam-remoting</artifactId>
</dependency
>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam-ioc</artifactId>
</dependency
>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam-ioc</artifactId>
</dependency
>
このサンプルの POM は Seam、 JPA (Hibernate により提供される)、 Hibernate Validator を提供しています。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion
>4.0.0</modelVersion>
<groupId
>org.jboss.seam.example/groupId>
<artifactId
>my-project</artifactId>
<version
>1.0</version>
<name
>My Seam Project</name>
<packaging
>jar</packaging>
<repositories>
<repository>
<id
>repository.jboss.org</id>
<name
>JBoss Repository</name>
<url
>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId
>org.hibernate</groupId>
<artifactId
>hibernate-validator</artifactId>
<version
>3.0.0.GA</version>
</dependency>
<dependency>
<groupId
>org.hibernate</groupId>
<artifactId
>hibernate-annotations</artifactId>
<version
>3.3.0.ga</version>
</dependency>
<dependency>
<groupId
>org.hibernate</groupId>
<artifactId
>hibernate-entitymanager</artifactId>
<version
>3.3.1.ga</version>
</dependency>
<dependency>
<groupId
>org.jboss.seam</groupId>
<artifactId
>jboss-seam</artifactId>
<version
>2.0.0.GA</version>
</dependency>
</dependencies>
</project
>