SeamFramework.orgCommunity Documentation
Seam non funziona con JDK 1.4 e richiede JDK 5 o superiore, poiché impiega annotazioni ed altre caratteristiche di JDK 5.0. Seam è stato testato usando i JDK di Sun. Comunque con Seam non ci sono problemi noti usando altri JDK.
Le prime versioni di JDK 6 di Sun contenevano un versione incompatibile di JAXB e richiedevano l'override di questa usando la directory "endorsed". La release JDK6 Update 4 di SUn ha aggiornato JAXB 2.1 e rimosso questo requisito. In fase di building, di testing o di esecuzione assicurarsi di utilizzare questa versione o successive.
Seam usa JBoss Embedded nei propri test di unità e di integrazione. JBoss Embedded ha un requisito aggiuntivo con JDK 6; occorre impostare il seguente argomento JVM:
-Dsun.lang.ClassLoader.allowArraySyntax=true
. Il sistema di build interno a Seam imposta di default questo valore quando si esegue la suit di test. Comunque usando JBoss Embedded per i test va impostato questo valore.
Questa sezione elenca le dipendenze di Seam sia a compile-time sia a runtime. Laddove il tipo viene elencato come ear
, la libreria deve essere inclusa nella directory /lib del proprio ear dell'applicazione. Laddove il tipo viene elencato come war
, la libreria deve essere collocata nella directory /WEB-INF/lib
del proprio file war. Lo scope della dipendenze è tutto, runtime o provided (da JBoss AS 4.2 o 5.0).
Le informazioni sulla versione e sulle dipendenze non sono incluse nella documentazione, ma sono fornite in /dependency-report.txt
che viene generato dai POM di Maven memorizzati in /build
. E' possibile generare questo file eseguendo ant dependencyReport
.
Tabella 42.1.
Nome |
Scope |
Tipo |
NOte |
---|---|---|---|
|
tutti |
ear |
La libreria base di Seam è sempre richiesta. |
|
runtime |
war |
I |
|
runtime |
war |
Richiesto con l'uso di Seam con Spring |
|
runtime |
war |
Richiesto con l'uso delle funzionalità PDF di Seam |
|
runtime |
war |
Richiesto con l'uso delle funzionalità di Microsoft® Excel® in Seam |
|
runtime |
war |
Richiesto con l'uso delle funzionalità di generazione RSS in Seam |
|
runtime |
war |
Richiesto con l'uso di Seam Remoting |
|
runtime |
war |
Richiesto con l'uso dei controlli JSF in Seam |
|
fornito |
JSF API | |
|
fornito |
Implementazione di riferimento JSF | |
|
runtime |
war |
Facelets |
|
runtime |
war |
Libreria URL Rewrite |
|
runtime |
ear |
Richiesto per usare Quartz assieme alle funzionalità asincrone di Seam |
Tabella 42.2. Dipendenze di RichFaces
Nome |
Scope |
Tipo |
NOte |
---|---|---|---|
|
tutti |
ear |
Richiesto per l'uso di RichFaces. Fornisce classi API per l'uso nella propria applicazione, per esempio per creare un albero |
|
runtime |
war |
Richiesto per l'uso di RichFaces. |
|
runtime |
war |
Richiesto per l'uso di RichFaces. Fornisce tutti i componenti UI. |
Tabella 42.3. Dipendenze di Seam Mail
Nome |
Scope |
Tipo |
NOte |
---|---|---|---|
|
runtime |
ear |
Richiesto per il supporto agli allegati |
|
runtime |
ear |
Richiesto per il supporto alle email d'uscita |
|
solo compilazione |
Richiesto per il supporto alle email d'ingresso mail-ra.rar dovrebbe essere deployato nell'application server a runtime | |
|
runtime |
war |
Seam Mail |
Tabella 42.4. Dipendenze di Seam PDF
Nome |
Tipo |
Scope |
NOte |
---|---|---|---|
|
runtime |
war |
Libreria PDF |
|
runtime |
war |
Libreria grafici |
|
runtime |
war |
Richiesto da JFreeChart |
|
runtime |
war |
Libreria principale PDF di Seam |
Tabella 42.5. Dipendenze di Microsoft® Excel® in Seam
Nome |
Tipo |
Scope |
NOte |
---|---|---|---|
|
runtime |
war |
Libreria JExcelAPI |
|
runtime |
war |
Libreria base Microsoft® Excel® in Seam |
Tabella 42.6. Dipendenze di Seam RSS
Nome |
Tipo |
Scope |
NOte |
---|---|---|---|
|
runtime |
war |
Libreria YARFRAW RSS |
|
runtime |
war |
Librerie JAXB XML per il parsing |
|
runtime |
war |
Librerie Apache HTTP Client |
|
runtime |
war |
Libreria Apache commons IO |
|
runtime |
war |
Libreria Apache commons lang |
|
runtime |
war |
Libreria Apache commons codec |
|
runtime |
war |
Libreria Apache commons collections |
|
runtime |
war |
Libreria Seam RSS core |
Le librerie di JBoss Rules libraries sono nella directory drools/lib
di Seam.
Tabella 42.7. Dipendenze di JBoss Rules
Nome |
Scope |
Tipo |
NOte |
---|---|---|---|
|
runtime |
ear |
Libreria ANTLR Runtime |
|
runtime |
ear |
Eclipse JDT |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear | |
|
runtime |
ear |
Queste librerie sono richieste se si desidera usare Google Web Toolkit (GWT) nella propria applicazione Seam.
Maven offre un supporto per la gestione transitiva delle dipendenze e può essere usato per gestire le dipendenze nei progetti Seam. Maven Ant Tasks intergra Maven nel build di Ant, e Maven può essereimpiegato per fare ilbuild ed il deploy dei propri progetti.
Qui non si discute l'uso di Maven, ma soltanto un utilizzo base del POM.
Le versioni rilasciate di Seam sono disponibili all'indirizzo http://repository.jboss.org/maven2 e gli snapshot notturni sono disponibili all'indirizzo http://snapshots.jboss.org/maven2.
Tutti gli artifact di Seam sono disponibili 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-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
>
Questo POM d'esempio fornirà Seam, JPA (tramite Hibernate) e 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
>