JSF 2.1到2.2迁移导致org.apache.catalina.connector.CoyoteAdapter.service中的java.lang.NullPointerException

时间:2015-01-19 10:12:11

标签: maven jsf glassfish jsf-2.2

我遇到从jsf2.1迁移到2.2(Glassfish 3.1.2到Glassfish 4.1)的问题。

当我遇到这些错误(它们看似随机)时,整个应用程序就无法访问了。

这是如何引起的,我该如何解决?这些.xhtml是否正常?

2015-01-19T10:01:45.811+0100|Warning: Internal Server error: /webclient/javax.faces.resource/target.gif.xhtml
java.lang.NullPointerException
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:272)
       at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
       at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
       at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
       at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
       at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
       at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
       at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
       at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
       at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
       at java.lang.Thread.run(Thread.java:745)

2015-01-19T10:01:46.044+0100|Warning: Internal Server error: null
java.lang.NullPointerException
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:272)
       at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
       at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
       at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
       at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
       at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
       at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
       at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
       at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
       at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
       at java.lang.Thread.run(Thread.java:745)

2015-01-19T10:03:26.128+0100|Warning: Internal Server error: /webclient/login
java.lang.NullPointerException
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:272)
       at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
       at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
       at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
       at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
       at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
       at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
       at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
       at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
       at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
       at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
       at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
       at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
       at java.lang.Thread.run(Thread.java:745)

2015-01-19T10:03:31.495+0100|Info: Server shutdown initiated

facelets中的图像以这种方式引用(这在jsf 2.1.7 glassfish 3.1.2,primefaces 3.5中运行良好):

<h:graphicImage library="images/m3" name="target.gif" styleClass="tableEntry" />

我的web.xml看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<session-config>
    <session-timeout>19</session-timeout>
</session-config>

<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Production</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
</context-param>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>*.jsf</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

<mime-mapping>
    <extension>png</extension>
    <mime-type>image/png</mime-type>
</mime-mapping>

<context-param>
    <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
    <param-value>/WEB-INF/custom-taglib.xml</param-value>
</context-param>

<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>#{loginController.theme}</param-value>
</context-param>

<context-param>
    <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name>
    <param-value>/*.xhtml</param-value>
</context-param>

<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/login.jsf</location>
</error-page>

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/login.jsf</location>
</error-page>

<error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/login.jsf</location>
</error-page>

<mime-mapping>  
  <extension>ttf</extension>  
  <mime-type>application/x-font-ttf</mime-type>  
</mime-mapping>  

<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>

和我的pom依赖是

         <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>3.1.0</version>
     </dependency>



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

                <scope>provided</scope>
         </dependency>

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

                <scope>provided</scope>
         </dependency>

         <dependency>
                <groupId>org.primefaces.extensions</groupId>
                <artifactId>primefaces-extensions</artifactId>
                <scope>compile</scope>
         </dependency>

         <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
         </dependency>

         <dependency>
                <groupId>org.omnifaces</groupId>
                <artifactId>omnifaces</artifactId>
         </dependency>


         <dependency>  
         <groupId>org.primefaces.themes</groupId>  
         <artifactId>all-themes</artifactId>  

         </dependency>



         <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <scope>compile</scope>
         </dependency>

         <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>api</artifactId>
                <version>3.3.0-SNAPSHOT</version>
                <type>jar</type>
                <scope>compile</scope>
         </dependency>

         <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>18.0</version>
         </dependency>

         <dependency>
                <groupId>com.lowagie</groupId>
                <artifactId>itext</artifactId>
                <version>2.1.7</version>
         </dependency>

         <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
         </dependency>

         <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
         </dependency>

         <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
         </dependency>

         <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
         </dependency>

         <!-- for import and parse xssf, 2007 excel files -->

         <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
         </dependency>

         <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
         </dependency>

         <dependency>
                <groupId>org.apache.xmlbeans</groupId>
                <artifactId>xmlbeans</artifactId>
         </dependency>

         <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-stax-api_1.0_spec</artifactId>
         </dependency>

         <!-- for importing mapping file -->
         <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
         </dependency>

         <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>

         </dependency>

         <!-- junit for tests -->
         <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <scope>test</scope>
         </dependency>


         <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
         </dependency>

         <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>dataloader</artifactId>
         </dependency>
   </dependencies>

父依赖

                    <dependency>
                      <groupId>org.omnifaces</groupId>
                      <artifactId>omnifaces</artifactId>
                      <version>2.0</version>
                </dependency>

<dependency>
                      <groupId>org.primefaces</groupId>
                      <artifactId>primefaces</artifactId>
                      <version>5.1</version>
                </dependency>

<dependency>
                      <groupId>org.primefaces.extensions</groupId>
                      <artifactId>primefaces-extensions</artifactId>
                      <version>3.0.0</version>
                      <scope>compile</scope>
                </dependency>

                    <dependency>
                      <groupId>com.sun.faces</groupId>
                      <artifactId>jsf-api</artifactId>
                      <version>2.2.9</version>
                      <scope>provided</scope>
                </dependency>

                <!--  dependency>
                      <groupId>com.sun.faces</groupId>
                      <artifactId>jsf-impl</artifactId>
                      <version>2.2.7</version>
                      <scope>provided</scope>
                </dependency -->

                <dependency>
                      <groupId>com.sun.faces</groupId>
                      <artifactId>jsf-impl</artifactId>
                      <version>2.2.9</version>
                      <scope>provided</scope>
                </dependency>

                <dependency>
                      <groupId>javax</groupId>
                      <artifactId>javaee-api</artifactId>
                      <version>7.0</version>
                      <scope>provided</scope>
                </dependency>

1 个答案:

答案 0 :(得分:1)

好的答案很简单...我有同样的问题!一定要遵循它=)。它确实是一条玻璃鱼4.1的错误。 nucleus Grizzly jar文件有问题,并且有一个补丁。只需在glassfish jar文件中替换此文件即可。用这个...... https://dl.dropboxusercontent.com/u/7319744/glassfish-4.1/nucleus-grizzly-all.jar。我不得不编辑它,因为我意外地给了错误的补丁。这个对我有用100%

相关问题