SeamFramework.orgCommunity Documentation
Seam ne fonctionne pas avec le JDK 1.4 et a besoin du JDK 5 ou supérieur car il utilise les annotations et d'autres fonctionnalités du JDK 5.0. Seam a été complètement testé en utilisant les JDK de Sen. Cependant il n'y a pas de bugs connus spécifique à Seam avec d'autres JDKs.
Les premières versions du JDK 6 de Sun contenait une version incompatible de JAXB et nécéssitait son remplacement en utilisant le dossier "endorsed". Le JDK 6 de Sun Update 4 fourni une version à jours de JAXB 2.1 et remplace cette contrainte. Pour la compilation, le test ou l'exécution soyez sur d'utiliser cette version ou une suppérieure.
Seam utilise JBoss Embedded dans ses tests unitaires et d'intégration. Ceci est un prérequis addictionnel avec l'utilisation de JDK 6. Pour exécuter le JBoss Embedded avec le JDK 6, vous allez avoir besoin de définir les arguments de la JVM suivant
-Dsun.lang.ClassLoader.allowArraySyntax=true
le système de compilation interne de Seam le défini par défaut quand il exécute la suite de tests de Seam. Cependant, si vous utilisez aussi JBoss Embedded pour vos tests vous allez avoir besoin de définir cette valeur.
Cette section liste à al fois les dépendances au moment de la compilation et de l'exécution de Seam. Quand le type est listé comme ear
, la bibliothèque devrait être incluse dans le dossier /lib de votre fichier ear de votre application. Quand le type est listé comme war
, la bibliothèque devrait être placée dans le dossier /WEB-INF/lib
de votre fichier war de votre application. L'étendue de la dépendance est soit tout, à l'éxécution, ou fourni (par JBoss AS 4.2 ou 5.0).
L'information de version à jours et l'information complète des dépendances n'est pas inclus dans la documentation, mais c'est fourni dans le /dependency-report.txt
qui est généré depuis les POMs de Maven stockés dans /build
. Vous pouvez générer ce fichier en exécutant ant dependencyReport
.
Tableau 42.1.
Nom |
Etendue |
Type |
Notes |
---|---|---|---|
|
all |
ear |
La bibliothèque du noyau de Seam, toujours requise. |
|
exécution |
war |
Inclue pendant le développement avec l'activation de la fonctionnalité de débogage de Seam |
|
exécution |
war |
Requise avec l'utilisation de Seam avec Spring |
|
exécution |
war |
Requise avec la fonctionnalité PDF de Seam |
|
exécution |
war |
Requise avec l'utilisation de la fonctionnalité Microsoft® Excel® de Seam |
|
exécution |
war |
Requise avec l'utilisation de la fonctionnalité de génération RSS de Seam |
|
exécution |
war |
Requise avec l'utilisation de Seam Remoting |
|
exécution |
war |
Requise avec l'utilisation des controles JSF de Seam |
|
fournie |
Les API de JSF | |
|
fournie |
L'implémentation de référence de JSF | |
|
exécution |
war |
Les facelets |
|
exécution |
war |
la bibliothèque de réécriture des URLs |
|
exécution |
ear |
Requise quand vous voules utiliser Quartz avec la fonctionnalité assynchrone de Seam |
Tableau 42.2. Les dépendances de RichFaces
Nom |
Etendue |
Type |
Notes |
---|---|---|---|
|
all |
ear |
Requise pour utiliser les RichFaces. Fourni les classes API que vous pouvez vouloir utiliser depuis votre application, par exemple, pour créer un arbre |
|
exécution |
war |
Requise pour utiliser les RichFaces. |
|
exécution |
war |
Requise pour utiliser les RichFaces. Fourni tous les composants UI. |
Tableau 42.3. Les dépendances de Seam Mail
Nom |
Etendue |
Type |
Notes |
---|---|---|---|
|
exécution |
ear |
Requise pour le support des pièces jointes |
|
exécution |
ear |
Requise pour le support de l'émission des emails |
|
seulement à la compilation |
Requise pour le support de la réception des emails mail-ra.rar devrait être déployé sur le serveur d'application à l'exécution | |
|
exécution |
war |
Seam Mail |
Tableau 42.4. Les dépendances de Seam PDF
Nom |
Type |
Etendue |
Notes |
---|---|---|---|
|
exécution |
war |
La bibliothèque de PDF |
|
exécution |
war |
La bibliothèque de diagramme |
|
exécution |
war |
Requise par JFreeChart |
|
exécution |
war |
La bilbiothèque du noyau de Seam PDF |
Tableau 42.5. Seam Microsoft® Excel® Dependencies
Nom |
Type |
Etendue |
Notes |
---|---|---|---|
|
exécution |
war |
La bibliothèque de JExcelAPI |
|
exécution |
war |
Seam Microsoft® Excel® core library |
Tableau 42.6. Les dépendances des RSS de Seam
Nom |
Type |
Etendue |
Notes |
---|---|---|---|
|
exécution |
war |
La bibliothèque de YARFRAW RSS |
|
exécution |
war |
Les bibliothèques d'analyse JAXB XML |
|
exécution |
war |
Les bibliothèques de Apache HTTP Client |
|
exécution |
war |
La bibliothèque de Apache commons IO |
|
exécution |
war |
La bibliothèque de Apache commons lang |
|
exécution |
war |
La bibliothèque de Apache commons codec |
|
exécution |
war |
La bibliothèque de Apache commons collections |
|
exécution |
war |
La bibliothèque du noyau de RSS de Seam RSS |
Les bibliothèques de JBoss Rules peuvent être trouvées dans le dossier drools/lib
dans Seam.
Tableau 42.7. Les dépendances de JBoss Rules
Nom |
Etendue |
Type |
Notes |
---|---|---|---|
|
exécution |
ear |
ANTLR Runtime Library |
|
exécution |
ear |
Eclipse JDT |
|
exécution |
ear | |
|
exécution |
ear | |
|
exécution |
ear | |
|
exécution |
ear | |
|
exécution |
ear | |
|
exécution |
ear | |
|
exécution |
ear |
Ces bibliothèques sont requises si vous voulez utiliser le Google Web Toolkit (GWT) avec votre application Seam.
Tableau 42.9. Les dépendances de GWT
Nom |
Etendue |
Type |
Notes |
---|---|---|---|
|
exécution |
war |
Les bibliothèques Servlet de GWT |
Maven offre le support de la gestion des dépendances de manière transitive et peut être utilisé pour gérer les dépendances de votre projet Seam. Vous pouvez utiliser les tâches Maven Ant pour intégrer Maven dans vos compilations ANt ou vous pouvez utiliser Maven pour compiler et deployer votre projet.
Nous n'allons pas maintenant discuter de comment utiliser Maven ici, mais parcourir juste quelques POMs simples que vous pouvez utiliser.
Les versions d'étapes de Seam sont disponibles sur http://repository.jboss.org/maven2 et les instannées courrantes sont disponibles dans http://snapshots.jboss.org/maven2.
Tous les artéfactes de Seam sont disponibles dans 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
>
Ce POM d'exemple va vous donner Seam, JPA (fourni par Hibernate), Hibernate Validator et 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
>