SeamFramework.org Community Documentation

- 前のページ

## 第42章 依存性

## 42.1. JDK の依存性

Seam はアノテーションや他の JDK 5 の機能を使用するため JDK 1.4 では動作しません、JDK 5 またはそれ以降の JDK で動作します。 Seam はSunの JDK を使い全体的にテストが行われています。ただし、他の JDK による Seam 固有の既知の問題はありません。

### 42.1.1. Sun の JDK 6 に関する注意点

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 も使用する場合はこの値のセットが必要になります。

## 42.2. プロジェクトの依存性

本節では Seam のコンパイル時と実行時の両方の依存性を列挙します。 タイプが `ear` と記載されている場合、 ライブラリがアプリケーションの ear ファイルの /lib ディレクトリ内に含まれていなければなりません。 タイプが `war` と記載されている場合、 ライブラリをアプリケーションの war ファイルの `/WEB-INF/lib` ディレクトリに配置する必要があります。 依存性のスコープは all、 runtime、 もしくは provided (JBoss AS 4.2 または 5.0 により提供) のいずれかになります。

最新のバージョン情報および完全な依存性情報は本ドキュメントには含まれていませんが、 `/dependency-report.txt` に記載されています。 これは `/build` に格納される Maven POM で生成されます。 `ant dependencyReport` を実行するとこのファイルを生成することができます。

### 42.2.1. Core

表 42.1.

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`jboss-seam.jar` | all | ear | コアの Seam ライブラリで、 常に必要となります。
`jboss-seam-debug.jar` | runtime | war | Seam のデバッグ機能を有効にするとき開発時に含めます。
`jboss-seam-ioc.jar` | runtime | war | Spring と Seam を併用する場合に必要となります。
`jboss-seam-pdf.jar` | runtime | war | Seam の PDF 機能を使用する場合に必要となります。
`jboss-seam-excel.jar` | runtime | war | Seam の Microsoft® Excel® 機能を使用する場合に必要となります。
`jboss-seam-rss.jar` | runtime | war | Seam の RSS 生成機能を使用する場合に必要となります。
`jboss-seam-remoting.jar` | runtime | war | Seam Remoting を使用する場合に必要となります。
`jboss-seam-ui.jar` | runtime | war | Seam JSF コントロールの使用に必要となります。
`jsf-api.jar` | provided |  | JSF API
`jsf-impl.jar` | provided |  | JSF リファレンス実装
`jsf-facelets.jar` | runtime | war | Facelets です。
`urlrewrite.jar` | runtime | war | URL Rewrite ライブラリです。
`quartz.jar` | runtime | ear | Seam の非同期機能で Quartz を使用したい場合に必要となります。

### 42.2.2. RichFaces

表 42.2. RichFaces の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`richfaces-api.jar` | all | ear | RichFaces の使用に必要となります。 ツリーの作成などアプリケーションからの使用を可能にする API クラスを提供します。
`richfaces-impl.jar` | runtime | war | RichFaces の使用に必要となります。
`richfaces-ui.jar` | runtime | war | RichFaces の使用に必要となります。 all の UI コンポーネントを提供します。

### 42.2.3. Seam Mail

表 42.3. Seam Mail の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`activation.jar` | runtime | ear | 添付のサポートに必要となります。
`mail.jar` | runtime | ear | メール送信サポートに必要となります。
`mail-ra.jar` | compile |  | 着信メールのサポートに必要となります。 mail-ra.rar はランタイムにアプリケーションに対してデプロイされなければなりません。
`jboss-seam-mail.jar` | runtime | war | Seam Mail のコアライブラリになります。

### 42.2.4. Seam PDF

表 42.4. Seam PDF の依存性

名前 | タイプ | 範囲 | 注記
--- | --- | --- | ---
`itext.jar` | runtime | war | PDF ライブラリ
`jfreechart.jar` | runtime | war | チャートライブラリ
`jcommon.jar` | runtime | war | JFreeChart で必要とされます。
`jboss-seam-pdf.jar` | runtime | war | Seam PDF のコアライブラリになります。

### 42.2.5. Seam Microsoft® Excel®

表 42.5. Seam Microsoft® Excel® の依存性

名前 | タイプ | 範囲 | 注記
--- | --- | --- | ---
`jxl.jar` | runtime | war | JExcelAPI ライブラリです。
`jboss-seam-excel.jar` | runtime | war | Seam Microsoft® Excel® のコアライブラリになります。

### 42.2.6. Seam RSS サポート

表 42.6. Seam RSS の依存性

名前 | タイプ | 範囲 | 注記
--- | --- | --- | ---
`yarfraw.jar` | runtime | war | YARFRAW RSS ライブラリです。
`JAXB` | runtime | war | JAXB XML 解析ライブラリです。
`http-client.jar` | runtime | war | Apache HTTP Client のライブラリです。
`commons-io` | runtime | war | Apache commons IO ライブラリです。
`commons-lang` | runtime | war | Apache commons 言語ライブラリです。
`commons-codec` | runtime | war | Apache commons codec ライブラリです。
`commons-collections` | runtime | war | Apache commons collections ライブラリです。
`jboss-seam-rss.jar` | runtime | war | Seam RSS のコアライブラリです。

### 42.2.7. JBoss Rules

JBoss Rules のライブラリは Seam の `drools/lib` ディレクトリにあります。

表 42.7. JBoss Rules の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`antlr-runtime.jar` | runtime | ear | ANTLR 実行ライブラリ
`core.jar` | runtime | ear | Eclipse JDT ライブラリ
`drools-api.jar` | runtime | ear |
`drools-compiler.jar` | runtime | ear |
`drools-core.jar` | runtime | ear |
`drools-decisiontables.jar` | runtime | ear |
`drools-templates.jar` | runtime | ear |
`janino.jar` | runtime | ear |
`mvel2.jar` | runtime | ear |

### 42.2.8. JBPM

表 42.8. JBPM の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`jbpm-jpdl.jar` | runtime | ear |

### 42.2.9. GWT

これらのライブラリは、 Seam アプリケーションで Google Web Toolkit (GWT) を使用したい場合に必要となります。

表 42.9. GWT の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`gwt-servlet.jar` | runtime | war | GWT Servlet ライブラリです。

### 42.2.10. Spring

これらのライブラリは Seam アプリケーションで Spring Framework を使用したい場合に必要となります。

表 42.10. Spring Framework の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`spring.jar` | runtime | ear | Spring Framework ライブラリです。

### 42.2.11. Groovy

これらのライブラリは Seam アプリケーションで Groovy を使用したい場合に必要となります。

表 42.11. Groovy の依存性

名前 | 範囲 | タイプ | 注記
--- | --- | --- | ---
`groovy-all.jar` | runtime | ear | Groovy のライブラリです。

## 42.3. Maven を使用した依存性管理

Maven は推移的依存性の管理に対するサポートを提供するため Seam プロジェクトの依存性管理に使用することができます。 Maven Ant Tasks を使って Maven を Ant のビルドに統合したり、 Maven を使ってプロジェクトのビルドおよびデプロイを行うこともできます。

ここでは Maven の使い方については触れませんが利用できる基本的な POM をいくつか見てみることにします。

Seam のリリース済みバージョンは http://repository.jboss.org/maven2 で入手できます。 ナイトリービルドのスナップショットは 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、Hibernate Search に関する依存性を記述しています。

    <?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.1.0.GA</version>

        </dependency>

        <dependency>

          <groupId

    >org.hibernate</groupId>

          <artifactId

    >hibernate-annotations</artifactId>

          <version

    >3.4.0.GA</version>

        </dependency>

        <dependency>

          <groupId

    >org.hibernate</groupId>

          <artifactId

    >hibernate-entitymanager</artifactId>

          <version

    >3.4.0.GA</version>

        </dependency>

        <dependency>

            <groupId

    >org.hibernate</groupId>

            <artifactId

    >hibernate-search</artifactId>

            <version

    >3.1.1.GA</version>

        </dependency>

        <dependency>

          <groupId

    >org.jboss.seam</groupId>

          <artifactId

    >jboss-seam</artifactId>

          <version

    >2.2.0.GA</version>

        </dependency>

      </dependencies>

    </project

    >

- 前のページ第41章 GlassFish アプリケーションサーバー上の Seam
- 上に戻る
- ホーム