2015-12-27 1 views
0

При обновленииNullPointerException после обновления JSF до 2.1, чтобы RichFaces 4.3.7

  • JSF от 1,2 до 2,1
  • RichFaces от 3.3.3 до 4.3.7.Final

следующие this link

я застрял с каким-то странным исключением

java.lang.NullPointerException 
com.ocpsoft.pretty.faces.application.PrettyNavigationHandler.processFacesNavigation(PrettyNavigationHandler.java:58) 
com.ocpsoft.pretty.faces.application.PrettyNavigationHandler.handleNavigation(PrettyNavigationHandler.java:44) 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130) 
javax.faces.component.UICommand.broadcast(UICommand.java:315) 
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) 
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) 
ua.com.winforce.online.site.http.filter.LocaleFilter.doFilter(LocaleFilter.java:65) 

, которая появляется после отправки простой формы на странице login.jspx

<h:form> 
<div class="form-group"> 
    <label for="rLogin"><h:outputText value="#{localeController.locale.registr.email}" escape="false"/></label> 
    <h:inputText id="rLogin" value="#{playerRegistration.login}" /> 
</div> 
<div class="form-group"> 
    <label for="rPassword"><h:outputText value="#{localeController.locale.registr.password}" escape="false"/></label> 
    <h:inputSecret value="#{playerRegistration.password}"/> 
</div> 
    <h:commandButton value="#{localeController.locale.mainMsg.registration}" action="#{playerRegistration.doRegistration}" /> 

LocaleFilter работает как обычно.

После обновления я оставил формат страницы .jspx.

Я думаю, что что-то не так в конфигурации, но не могу найти причину.

Основной pom.xml:

<properties> 
    <targetJdk>1.6</targetJdk> 
    <spring.version>4.0.5.RELEASE</spring.version> 
    <spring.security.version>3.2.4.RELEASE</spring.security.version> 
    <hibernate.version>4.2.16.Final</hibernate.version> 
    <richfaces.version>4.3.7.Final</richfaces.version> 
</properties> 

<dependencyManagement> 
    <dependencies> 
     <!-- Utils --> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.14</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.7.7</version> 
     </dependency> 

     <!-- Servlets/JSP/JSTL --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <type>jar</type> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.1</version> 
      <type>jar</type> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 

     <!-- RichFaces libraries --> 
     <dependency> 
     <groupId>org.richfaces</groupId> 
     <artifactId>richfaces-bom</artifactId> 
     <version>${richfaces.version}</version> 
     <scope>import</scope> 
     <type>pom</type> 
    </dependency> 

    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>wsdl4j</groupId> 
     <artifactId>wsdl4j</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.richfaces.core</groupId> 
     <artifactId>richfaces-core-impl</artifactId> 
     </dependency> 
     <dependency> 
     <groupId>org.richfaces.ui</groupId> 
     <artifactId>richfaces-components-ui</artifactId> 
     </dependency> 
</dependencies> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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_3_0.xsd" 
    version="3.0"> 
<mime-mapping> 
    <extension>jspx</extension> 
    <mime-type>application/xml</mime-type> 
</mime-mapping> 

<context-param> 
    <param-name>javax.faces.application.CONFIG_FILES</param-name> 
    <param-value>/WEB-INF/faces-config.xml</param-value> 
</context-param> 

<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.jspx</param-value> 
</context-param>  
<context-param> 
    <param-name>javax.faces.FACELETS_SUFFIX</param-name> 
    <param-value>.jspx</param-value> 
</context-param>  
<context-param> 
    <param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name> 
    <param-value>*.jspx</param-value> 
</context-param> 

<context-param> 
    <param-name>com.sun.faces.validateXml</param-name> 
    <param-value>false</param-value> 
</context-param> 

<context-param> 
    <param-name>facelets.DEVELOPMENT</param-name> 
    <param-value>false</param-value> 
</context-param> 

<context-param> 
     <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name> 
     <param-value>false</param-value> 
</context-param> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/applicationContext-site-dao.xml 
     /WEB-INF/applicationContext-site-security.xml 
    </param-value> 
</context-param> 

<context-param> 
    <param-name>com.sun.faces.sendPoweredByHeader</param-name> 
    <param-value>false</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<listener> 
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> 
</listener> 
<listener> 
    <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class> 
</listener> 
<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>*.html</url-pattern> 
</servlet-mapping> 

лица-config.xml заголовка:

<faces-config version="2.1" 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_2_1.xsd"> 
<application> 
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> 
<locale-config> 
     <default-locale>ru</default-locale> 
     <supported-locale>ru</supported-locale> 
     <supported-locale>en</supported-locale> 
    </locale-config> 

Вот ЛИЭС, используемые в проект:

  • орг/graylog2/gelfj/0.9.1-СНАПШОТ/gelfj-0.9.1-SNAPSHOT.jar
  • ком/GoogleCode/JSON-простой/JSON-простой/1.1/JSON-простой-1.1. банка
  • обыкновенных бассейн/обыкновенный бассейн/1.5.2/Обще бассейн-1.5.2.jar
  • JCraft/JCraft/1/JCraft-1.jar
  • jazzlib/jazzlib/1.07/jazzlib- 1.07.jar
  • сеть/SF/JSON Пб/JSON Пб/2.2.3/JSON Пб-2.2.3-jdk15.jar
  • сеть/SF/ezmorph/ezmorph/1.0.6/ezmo Тф-1.0.6.jar
  • javax/почта/почта/1.4.1/почте 1.4.1.jar
  • javax/активации/активация/1.1/активация-1.1.jar
  • License4J-среда/License4J-среда/3,1/License4J-среда-3.1.jar
  • jdbcappender/jdbcappender/2.1.01/jdbcappender-2.1.01.jar
  • log4j/log4j/1.2.14/log4j-1.2.14.jar
  • орг/SLF4J/SLF4J-log4j12/1.7.7/SLF4J-log4j12-1.7.7.jar
  • Commons-Lang/Обще-Lang/2,4/Викисклада языки-2.4.jar
  • commons-io/commons-io/1.4/commons-io-1.4.баночка
  • Викисклад коллекция/Викисклад коллекций/3.2/Викисклад подборки 3.2.jar
  • Обще-ДБХП/Обще-ДБХП/1.2.1/Викисклад ДБХП-1.2.1.jar
  • xml- APIs/XML-интерфейсы API/1.0.b2/XML-АПИС-1.0.b2.jar
  • Xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
  • Обще-открытие/открытие фонда-/ 0,4/Обще-открытие-0.4.jar
  • Обще-каротаж/Обще-каротаж/1.0.4/Обще-каротаж 1.0.4.jar
  • javax/сервлет/JSTL/1.2/JSTL-1.2.jar
  • ком/солнце/Facelets/JSF-Facelets/1.1.15/JSF-Facelets-1.1.15.jar
  • AspectJ/aspectjrt/1.5.3/aspectjrt-1.5.3.jar
  • AspectJ/aspectjweaver/1.5.3/aspectjweaver-1.5.3.jar
  • jfree/jcommon/1.0.12/jcommon-1.0.12.jar
  • орг/springframework/весна веб/4.0.5.RELEASE/весна-web- 4.0.5.RELEASE.jar
  • орга/springframework/весенне-AOP/4.0.5.RELEASE/весенне-AOP-4.0.5.RELEASE.jar
  • орг/springframework/пружинная JDBC/4.0.5. RELEASE/spring-jdbc-4.0.5.RELEASE.jar
  • org/springframework/spring-tx/4.0.5.RELEASE/spring-tx-4.0.5.RELEASE.jar
  • org/springframework/spring-orm/4.0.5.RELEASE/spring-orm-4.0 .5.RELEASE.jar
  • орг/springframework/пружинная поддержка/2.0.8/пружинный опорно-2.0.8.jar
  • aopalliance/aopalliance/1.0/aopalliance-1.0.jar
  • орг/springframework /security/spring-security-core/3.2.4.RELEASE/spring-security-core-3.2.4.RELEASE.jar
  • org/springframework/spring-expression/3.2.8.RELEASE/spring-expression-3.2 .8.RELEASE.jar
  • org/springframework/security/spring-security-config/3.2.4.RELEASE/spring-security-config-3.2.4.RELEASE.jar
  • org/springframework/security/spring-security-taglibs/3.2.4 .RELEASE/spring-security-taglibs-3.2.4.RELEASE.jar
  • org/springframework/security/spring-security-acl/3.2.4.RELEASE/spring-security-acl-3.2.4.RELEASE.jar
  • орг/springframework/безопасность/весна-безопасности веб/3.2.4.RELEASE/весна-безопасности веб-3.2.4.RELEASE.jar
  • Обще-HttpClient/Обще-HttpClient/3,1/Обще-HttpClient -3.1.jar
  • commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
  • Commons-BeanUtils/Викисклад BeanUtils/1.7.0/Викисклад BeanUtils-1.7.0.jar
  • обыкновенных-варочный котел/Обще-варочный котел/1,6/Обще-варочный котел-1.6.jar
  • орально/орально /2.0.8/oro-2.0.8.jar
  • Обще-сеть/Обще-нетто/3,3/Обще-нетто-3.3.jar
  • Javassist/Javassist/3.10.0.GA/Javassist-3.10.0 .GA.jar
  • PostgreSQL/PostgreSQL/8.3-603.jdbc4/PostgreSQL-8.3-603.jdbc4.jar
  • кварца/кварца/1.5.2/кварц-1.5.2.баночка
  • орг/FreeMarker/FreeMarker/2.3.9/Freemarker-2.3.9.jar
  • Авалон-основа/Авалон-основа/4.1.3/Авалон-каркасного 4.1.3.jar
  • ком/вс/XML/обмена сообщениями/SAAJ/SAAJ-осущ/1.3.1/SAAJ-осущ-1.3.1.jar
  • javax/XML/мыло/SAAJ-апи/1,3/SAAJ-апи-1.3.jar
  • ком/Octo/CAPTCHA,/jcaptcha-все/1,0-RC6/jcaptcha-все-1,0-RC6.jar
  • javax/аннотаций/jsr250-апи/1,0/jsr250-апи-1.0.jar
  • Обще-кодек/commons-codec/1.4/commons-codec-1.4.jar
  • org/springframework/spring-core/4.0.5.RELEASE/spring-core-4.0.5.RELEASE.jar
  • com/ocpsoft/prettyfaces-jsf12/3.3.3/prettyfaces-jsf12-3.3.3 .jar
  • org/richfaces/core/richfaces-core-impl/4.3.7.Final/richfaces-core-impl-4.3.7.Final.jar
  • org/richfaces/core/richfaces-core-api /4.3.7.Final/richfaces-core-api-4.3.7.Final.jar
  • сеть/SourceForge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar
  • орг/w3c/CSS /sac/1.3/sac-1.3.jar
  • ru/google/guava/g uava/13.0.1/guava-13.0.1.jar
  • org/richfaces/ui/richfaces-components-ui/4.3.7.Final/richfaces-components-ui-4.3.7.Final.jar
  • org/richfaces/ui/richfaces-components-api/4.3.7.Final/richfaces-components-api-4.3.7.Final.jar
  • com/sun/faces/jsf-impl/2.1.3/jsf- impl-2.1.3.jar
  • com/sun/faces/jsf-api/2.1.3/jsf-api-2.1.3.jar
  • commons-configuration/commons-configuration/1.10/commons-configuration- 1.10.jar
  • org/hibernate/hibernate-core/4.2.16.Final/hibernate-core-4.2.16.Final.jar
  • ANTLR/ANTLR/2.7.7/ANTLR-2.7.7.jar
  • орг/JBoss/регистрация/JBoss-каротажа/3.1.0.GA/JBoss-каротажа 3.1.0.GA.jar
  • dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
  • орг/Javassist/Javassist/3.18.1-ГА/Javassist-3.18.1-GA.jar
  • орг/JBoss/спецификации/javax/транзакция/jboss-transaction-api_1.1_spec/1.0.1.Final/jboss-transaction-api_1.1_spec-1.0.1.Final.jar
  • org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar
  • org/hibernate/common/h ibernate-commons-annotations/4.0.2.Final/hibernate-commons-annotations-4.0.2.Final.jar
  • javax/jms/jms-api/1.1-rev-1/jms-api-1.1-rev- 1.jar
  • орг/апач/xbean/xbean-рессора/4,1/xbean-весна-4.1.jar
  • орг/апач/ActiveMQ/ActiveMQ-все/5.12.1/ActiveMQ-все-5.12.1. банку
  • орг/springframework/пружинно-JMS/4.0.5.RELEASE/пружинную-JMS-4.0.5.RELEASE.jar
  • Joda времени/Joda времени/2,7/Joda-тайм-2.7.jar
  • org/springframework/spring-context-support/4.0.5.RELEASE/spring-context-support-4.0.5.RELEASE.банку
  • орг/springframework/пружинные-бобы/4.0.5.RELEASE/весенне-бобы-4.0.5.RELEASE.jar
  • орг/springframework/пружинно-контекст/4.0.5.RELEASE/пружинно-контекст- 4.0.5.RELEASE.jar
  • сеть/SF/EHCache/EHCache/2.10.0/EHCache-2.10.0.jar
  • орг/SLF4J/SLF4J-апи/1.7.7/SLF4J-апи-1.7. 7.jar
  • javax/сервлет/javax.servlet-апи/3.0.1/javax.servlet-апи-3.0.1.jar
  • wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar

Я готов добавить дополнительную информацию, чтобы найти причину этой ситуации. Надеюсь, кто-то может помочь мне выяснить, как решить эту проблему, потому что Google не знает об этой проблеме. Любая помощь будет полезна.

+0

Это звучит как '# {playerRegistration.doReg istration} 'возвращает случай навигации, который не существует. Во всяком случае, попробуйте обновить Prettyfaces. –

ответ

0

проблема была в следующем зависимости

com/ocpsoft/prettyfaces-jsf12/3.3.3/prettyfaces-jsf12-3.3.3.jar 

, когда я заменил его

com/ocpsoft/prettyfaces-jsf2/3.3.3/prettyfaces-jsf2-3.3.3.jar 

для второй версии JSF, проблема ушла

0

Изменить prettyfaces в JSF 2 совместимы версии (например, prettyfaces-jsf2-3.3.3.jar)

prettyfaces-jsf12 ... для JSF 1.2, prettyfaces-jsf2 ... для JSF 2.x (от OCPSoft doc)

, проверьте, если он надлежащим определены в проекте. Кроме того, вы можете добавить следующий фильтр в web.xml:

<filter> 
    <filter-name>Pretty Filter</filter-name> 
    <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>Pretty Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>ERROR</dispatcher> 
</filter-mapping> 
Смежные вопросы