Konfiguracja JSF 1.2 przez Mavena

0

Witam,
Utworzyłem File > New > Maven > Dynamic Web Project w NetBeans 7.3.

pom.xml

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>jsf_simple</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>

  <name>jsf_simple</name>
  <a href="http://maven.apache.org">http://maven.apache.org</a>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>1.2</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.14</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.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

w Web-INf faces-config.xml

<?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
	version="1.2">
   
   <navigation-rule>
      <from-view-id>/index.jsp</from-view-id>
      <navigation-case>
         <from-outcome>login</from-outcome>
         <to-view-id>/welcome.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>

   <managed-bean> 
      <managed-bean-name>user</managed-bean-name>
      <managed-bean-class>com.example.jsf_simple.UserBean</managed-bean-class> 
      <managed-bean-scope>session</managed-bean-scope> 
   </managed-bean>
   
</faces-config>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>jsf_simple</display-name>
    
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

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

   <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.faces</url-pattern>
   </servlet-mapping>  

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

</web-app>

W dołączonych bibliotekach widzę tylko JDK1.7 

1. Glassfish działa: uruchamia tą samą aplikację bez Mavena (pochodzi z ksiazki Core JSF i zostala zaimportowana z istniejacych zrodel).
2. Błąd: org.apache.jasper.JasperException: java.lang.NullPointerException

Czym roznia sie te projekty?
W niedzialajacym w folderze Java dependencies mam tylko JDK 1.7, a w dzialajacym oprocz JDK 1.7 rowniez GlassFish 3.1.2. 

Moim zdaniem po uzupelneniu zaleznosci apliakcja bedzie dzialac tak samo, bo widoczne ten lib ma wszystko to co powoduje blad Jaspera. Pytanie, jak to dolaczyc?

Pozdrawiam,
0

Zastanawiałem się nad zależnością:

    <dependency>
        <groupId>org.glassfish.main.extras</groupId>
        <artifactId>glassfish-embedded-web</artifactId>
        <version>3.1.2.2</version>
    </dependency>

ze strony: https://blogs.oracle.com/theaquarium/entry/glassfish_server_3_1_21

Jednak, chyba nie o to chodzi. Blad:

 Error occurred during deployment: Exception while deploying the app [jsf_simple] : Sniffers with type [connector] and type [ejb] should not claim the archive at the same time. Please check the packaging of your archive [C:\Users\mgorski\Desktop\corejsf2-examples\jsf_simple\target\jsf_simple-1.0-SNAPSHOT]. Please see server.log for more details.
The module has not been deployed.
See the server log for details.
	at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:210)
	at org.netbeans.modules.maven.j2ee.ExecutionChecker.performDeploy(ExecutionChecker.java:178)
	at org.netbeans.modules.maven.j2ee.ExecutionChecker.executionResult(ExecutionChecker.java:130)
	at org.netbeans.modules.maven.execute.MavenCommandLineExecutor.run(MavenCommandLineExecutor.java:212)
	at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)

Zrezygnowałem z tego pomysłu.

Dodatkowo dopisałem:

    <dependency>
        <groupId>javaee</groupId>
        <artifactId>javaee-api</artifactId>
        <version>5</version>
    </dependency>

Nie rozwiazuje to jednak problemu.

Wciaz poszukuje rozwiazania i bede wdzieczny za wskazowki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1