2011-05-12 5 views
0

J'essaye d'exécuter un tutoriel jsf-2.0 simple en utilisant glassfish 3.0 intégré et continue d'obtenir cette erreur. J'ai cherché des solutions sur ce forum et sur internet et je ne vois pas où. Voici le pom:Impossible de trouver l'usine: javax.faces.context.FacesContextFactory - en utilisant glassfish 3.0 intégré

<modelVersion>4.0.0</modelVersion> 
<groupId>com.googlecode.sandcode</groupId> 
<artifactId>helloworld</artifactId> 
<packaging>war</packaging> 
<name>${project.artifactId}</name> 
<version>1.0</version> 


<repositories> 
    <repository> 
     <id>java.net.m2</id> 
     <url>http://download.java.net/maven/2</url> 
    </repository> 
    <repository> 
     <id>java.net.glassfish.m2</id> 
     <url>http://download.java.net/maven/glassfish</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

<pluginRepositories> 
    <pluginRepository> 
     <id>glassfish-repository</id> 
     <name>Java.net Repository for Glassfish</name> 
     <url>http://download.java.net/maven/glassfish</url> 
     <layout>default</layout> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>never</updatePolicy> 
     </snapshots> 
    </pluginRepository> 
</pluginRepositories> 

<build> 
    <plugins> 
     <!-- embedded glassfishV3 for testing --> 
     <plugin> 
      <groupId>org.glassfish</groupId> 
      <artifactId>maven-embedded-glassfish-plugin</artifactId> 
      <version>3.0</version> 
      <configuration> 
       <goalPrefix>glassfish</goalPrefix> 
       <app>target/helloworld-1.0.war</app> 
       <port>8080</port> 
       <contextRoot>test</contextRoot> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Web.xml:

<!-- Faces Servlet --> 
<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<!-- Faces Servlet Mapping --> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.jsf</url-pattern> 
</servlet-mapping> 

<!-- explicitly setting the EL factory, otherwise is not working correctly under tomcat and jetty --> 
<context-param> 
    <param-name>com.sun.faces.expressionFactory</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 

<!-- welcome file mapping --> 
<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

Après avoir cours mvn package, le fichier de guerre est généré et GlassFish démarre. Mais se plaint de l'erreur. Dans le dossier du projet, je peux voir la dépendance jsf Maven: jsf-api-2.1.jar.

Merci, Sarah

+0

double possible de [Exception: n'a pas pu trouver l'usine: javax.faces.context.FacesContextFactory] (http://stackoverflow.com/questions/5259145/exception-could-not-find-factory- javax-faces-context-facescontextfactory) –

+0

@ J-16 SDiZ, oui, après l'avoir posté ici je suis tombé sur l'autre poste sur lequel j'ai fourni une réponse. :) – sarahTheButterFly

Répondre

1

je vais répondre à ma propre question. : P

Je a ajouté à web.xml et travaillé:

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

Voici la page Web explique le problème: http://javawords.com/2009/06/05/using-jsf-12-with-facelets-on-google-app-engine-for-java/

Il semble que le GlassFish embarqué n'initialise pas à servlets démarrage, à la place l'initialisation est reportée jusqu'à la première demande.

Sarah

Questions connexes