2010-11-30 31 views
2

Je suis actuellement à l'aide JSF 1.1 sur Apache Tomcat 6.0.13, avec maven 2.JSF 1,1 à 1,2 migration

Je rabotage de migrer de JSF 1.1 à 1.2. Quelqu'un peut-il me diriger vers: - quelle implémentation JSF est la meilleure pour utiliser - cette implémentation est-elle disponible sur le dépôt central maven - quelle partie du code devrais-je ajuster (j'utilise des balises personnalisées dans mon projet, mais à part ça il est toute information serait utile ... Thanx tout JSF plaine)

etc.

!

[modifier 1]:

Hm, ne l'ont pas travaillé pour moi. Les dépendances ne peuvent pas être téléchargées à partir du référentiel que vous avez spécifié. Peut-être que c'est parce que c'est le lien pour maven 1 référentiel. J'utilise à la place les paramètres pom suivants:

 <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-api</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <scope>system</scope> 
      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsf-api.jar</systemPath> 
     </dependency> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-impl</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <scope>system</scope> 
      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsf-impl.jar</systemPath> 
     </dependency> 

J'espère que cette approche est la bonne. Si quelqu'un a une solution plus conviviale, veuillez le conseiller. Merci!

[edit 2]: Après avoir changé mon pot JSF de 1.1. à 1,2, l'erreur suivante est survenue lors du démarrage de l'application:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: 
javax.faces.context.FacesContextFactory 

Pour corriger cette erreur, auditeur supplémentaire doit être ajouté dans web.xml:

<listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 

Répondre

3

Jetez un oeil sur les notes de version suivantes qui a un guide de migration de 1,1 à 1,2 http://java.sun.com/javaee/javaserverfaces/docs/ReleaseNotes.html

les artefacts Maven2 pour JSF 1.2 ont trouvé leur chemin dans le référentiel standard maven2 situé à http://http://repo1.maven.org/maven2

JSF mise en œuvre

http://repo2.maven.org/maven2/javax/faces/jsf-impl/1.2-b19/

JSF API

http://repo1.maven.org/maven2/javax/faces/jsf-api/1.2-b19/

En tant que tel, vous ne devriez pas besoin d'une installation de dépôt spécial dans votre pom.xml ou settings.xml

Les dépendances c un être défini comme celui-ci dans la pom (1,2-B19 est la dernière version au moment de l'écriture):

<dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>1.2-b19</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>1.2-b19</version> 
    </dependency> 

inclus ci-dessous est un pom.xml complet qui doit contenir les dépendances de base pour le démarrage d'un projet JSF 1.2

<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>com.ecs.sample.jsf</groupId> 
    <artifactId>SampleJsfPom</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-api</artifactId> 
      <version>1.2-b19</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-impl</artifactId> 
      <version>1.2-b19</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.facelets</groupId> 
      <artifactId>jsf-facelets</artifactId> 
      <version>1.1.11</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-digester</groupId> 
      <artifactId>commons-digester</artifactId> 
      <version>1.7</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils</artifactId> 
      <version>1.7.0</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>3.2</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
       <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
</project> 
+0

Merci, c'est juste l'information que je cherchais. – Igor

+0

J'ai mis la modification dans ma question, car il n'est pas possible de mettre en forme le code dans la section des commentaires ... – Igor

+0

Voir la mise à jour de la réponse. – ddewaele