Chapter 33. 依赖包

33.1. 项目依赖包

在这一章节主要是列出了Seam在编译时和运行时需要用到的依赖包。列表中类型为 ear 的包应该放在应用程序ear文件的/lib目录中。 类型为 war 的应该放在应用程序war文件的 /WEB-INF/lib 目录里。 依赖包的Scope是all、runtime或provided(JBoss AS 4.2)。

最新的版本信息没有包含在这个文档中,可以在 /build/root.pom.xml Maven POM 文件找到。

33.1.1. Core

Table 33.1. 

名称

范围

类型

说明

commons-codec.jar

runtime

ear

Seam Security使用Digest认证时所必须的。

jboss-seam.jar

all

ear

Seam核心包,始终需要

jboss-seam-debug.jar

runtime

war

在项目开发阶段,开启Seam的调试功能时需要。

jboss-seam-ioc.jar

runtime

war

与Spring结合使用时需要。

jboss-seam-pdf.jar

runtime

war

当使用Seam的PDF功能时需要。

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参考实现Reference Implementation

jsf-facelets.jar

runtime

war

Facelets

urlrewrite.jar

war

no

URL Rewrite库

jcaptcha-all.jar

ear

no

用以支持Captcha。

quartz.jar

ear

yes

当你想使用Seam中Quartz的异步特性这个是必须的。

33.1.2. Ajax4JSF / RichFaces

Table 33.2. RichFaces依赖包

名称

范围

类型

说明

richfaces-api.jar

all

ear

使用RichFaces时需要。为你的应用程序提供API类,比如:创建一棵树。

richfaces-impl.jar

runtime

war

使用RichFaces时需要。

richfaces-ui.jar

runtime

war

使用RichFaces时需要。提供所有的UI组件

33.1.3. Seam Mail

Table 33.3. Seam Mail依赖包

名称

范围

类型

说明

activation.jar

runtime

ear

支持附件需要的包。

mail.jar

runtime

ear

支持发送邮件需要的包。

mail-ra.jar

compile only

支持接收邮件的包。

mail-ra.rar应当在运行时被部署到应用服务器中。

jboss-seam-mail.jar

runtime

war

Seam Mail

33.1.4. Seam PDF

Table 33.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核心库。

33.1.5. JBoss Rules

The JBoss Rules的所有包都可以在Seam的drools/lib目录中找到。

Table 33.5. JBoss Rules依赖包

名称

范围

类型

说明

antlr-runtime.jar

runtime

ear

ANTLR Runtime库。

core.jar

runtime

ear

Eclipse JDT

drools-compiler.jar

runtime

ear

drools-core.jar

runtime

ear

janino.jar

runtime

ear

mvel.jar

runtime

ear

33.1.6. JBPM

Table 33.6. JBPM依赖包

名称

范围

类型

说明

jbpm-jpdl.jar

runtime

ear

33.1.7. GWT

如果想在你的Seam应用程序中使用Google Web Toolkit(GWT),这些包也是必须的。

Table 33.7. GWT依赖包

名称

范围

类型

说明

gwt-servlet.jar

runtime

war

GWT Servlet库

33.1.8. Spring

如果你想在你的Seam应用程序中使用Spring框架,这些包也是必须的。

Table 33.8. Spring Framework 依赖包

名称

范围

类型

说明

spring.jar

runtime

ear

Spring Framework库。

33.1.9. Groovy

如果你想在你的Seam应用程序中使用Groovy,这些包都是必须的。

Table 33.9. Groovy依赖包

名称

范围

类型

说明

groovy-all.jar

runtime

ear

Groovy库

33.2. 使用Maven依赖管理

Maven提供依赖管理,可以用来管理Seam项目的依赖。可以使用Maven Ant Task来整合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:

<?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>