SeamFramework.orgCommunity Documentation
Seam does not work with JDK 1.4 and requires JDK 5 or above as it uses annotations and other JDK 5.0 features. Seam has been thoroughly tested using Oracle's JDKs and OpenJDKs. However there are no known issues specific to Seam with other JDKs.
Earlier versions of Oracle's JDK 6 contained an incompatible version of JAXB and required overriding it using the "endorsed" directory. Oracle's JDK6 Update 4 release upgraded to JAXB 2.1 and removed this requirement. When building, testing, or executing be sure to use this version or higher.
This section both lists the compile-time and runtime dependencies for Seam.
Where the type is listed as ear
, the library should be
included in the /lib directory of your application's ear file. Where the
type is listed as war
, the library should be placed in
the /WEB-INF/lib
directory of your application's war
file. The scope of the dependency is either all, runtime or provided (by
JBoss AS 7.1.x).
Up to date version information and complete dependency information is not
included in the docs, but is provided in the
/dependency-report.txt
which is generated from the
Maven POMs stored in /build
. You can generate this file
by running ant dependencyReport
.
Table 39.1.
Name |
Scope |
Type |
Notes |
---|---|---|---|
|
all |
ear |
The core Seam library, always required. |
|
runtime |
war |
Include during development when enabling Seam's debug feature |
|
runtime |
war |
Required when using Seam with Spring |
|
runtime |
war |
Required when using Seam's PDF features |
|
runtime |
war |
Required when using Seam's Microsoft® Excel® features |
|
runtime |
war |
Required when using Seam's RSS generation features |
|
runtime |
war |
Required when using Seam Remoting |
|
runtime |
war |
Required to use the Seam JSF controls |
|
provided |
JSF API | |
|
provided |
JSF Reference Implementation | |
|
runtime |
war |
URL Rewrite library |
|
runtime |
ear |
Required when you wish to use Quartz with Seam's asynchronous features |
Table 39.2. RichFaces dependencies
Name |
Scope |
Type |
Notes |
---|---|---|---|
|
all |
ear |
Required to use RichFaces. Provides Core API classes that you may wish to use from your application e.g. to create a tree |
|
runtime |
war |
Required to use RichFaces Core implementations. |
|
runtime |
war |
Required to use RichFaces. Provides all the Components UI components. |
|
runtime |
war |
Required to use RichFaces. Provides all the API for UI components. |
Table 39.3. Seam Mail Dependencies
Name |
Scope |
Type |
Notes |
---|---|---|---|
|
runtime |
ear |
Required for outgoing mail support |
|
compile only |
Required for incoming mail support
| |
|
runtime |
war |
Seam Mail |
Table 39.4. Seam PDF Dependencies
Name |
Type |
Scope |
Notes |
---|---|---|---|
|
runtime |
war |
PDF Library |
|
runtime |
war |
Charting library |
|
runtime |
war |
Required by JFreeChart |
|
runtime |
war |
Seam PDF core library |
Table 39.5. Seam Microsoft® Excel® Dependencies
Name |
Type |
Scope |
Notes |
---|---|---|---|
|
runtime |
war |
JExcelAPI library |
|
runtime |
war |
Seam Microsoft® Excel® core library |
Table 39.6. Seam RSS Dependencies
Name |
Type |
Scope |
Notes |
---|---|---|---|
|
runtime |
war |
YARFRAW RSS library |
|
runtime |
war |
JAXB XML parsing libraries |
|
runtime |
war |
Apache HTTP Client libraries |
|
runtime |
war |
Apache commons IO library |
|
runtime |
war |
Apache commons lang library |
|
runtime |
war |
Apache commons codec library |
|
runtime |
war |
Apache commons collections library |
|
runtime |
war |
Seam RSS core library |
The Drools libraries can be found in the lib
directory in Seam.
Table 39.7. Drools Dependencies
Name |
Scope |
Type |
Notes |
---|---|---|---|
|
runtime |
ear |
ANTLR Runtime Library |
|
runtime |
ear |
Eclipse Compiler for Java |
|
runtime |
ear | |
|
runtime |
ear |
Drools compiler |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear |
These libraries are required if you with to use the Google Web Toolkit (GWT) with your Seam application.
We aren't actually going to discuss how to use Maven here, but just run over some Seam usage from user/application point of view you could use.
Released versions of Seam are available in http://repository.jboss.org/nexus/content/groups/public.
All the Seam artifacts are available in 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-mail</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-debug</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-excel</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-resteasy</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-rss</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-wicket</artifactId>
</dependency>
This sample POM will give you Seam, JPA (provided by Hibernate), Hibernate Validator and 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 Public Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>bom</artifactId>
<version>2.3.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
</dependency>
</dependencies>
</project>