Additionally, although it doesn't show up in the log files, when I try
to view the application I see a page that includes this stack trace:

 java.lang.NullPointerException

 
org.apache.struts2.dispatcher.mapper.DefaultActionMapper.getUriFromActio
nMapping(DefaultActionMapper.java:532)
 
org.apache.struts2.dispatcher.ServletActionRedirectResult.execute(Servle
tActionRedirectResult.java:197)
 
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultAct
ionInvocation.java:361)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:265)
 
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doInterce
pt(DefaultWorkflowInterceptor.java:163)
 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:87)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Vali
dationInterceptor.java:249)
 
org.apache.struts2.interceptor.validation.AnnotationValidationIntercepto
r.doIntercept(AnnotationValidationInterceptor.java:68)
 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:87)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept
(ConversionErrorInterceptor.java:122)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Pa
rametersInterceptor.java:195)
 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:87)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Pa
rametersInterceptor.java:195)
 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:87)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercep
t(StaticParametersInterceptor.java:148)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInt
erceptor.java:93)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploa
dInterceptor.java:235)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(Mod
elDrivenInterceptor.java:89)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.interce
pt(ScopedModelDrivenInterceptor.java:128)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(
ProfilingActivationInterceptor.java:104)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(
DebuggingInterceptor.java:267)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(Chaini
ngInterceptor.java:126)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(Prepa
reInterceptor.java:138)
 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:87)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterc
eptor.java:148)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(Servle
tConfigInterceptor.java:164)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInte
rceptor.java:128)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercep
t(ExceptionMappingInterceptor.java:176)
 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:236)
 
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java
:52)
 
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:4
68)
 
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher
.java:395)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
 
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
 
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
 
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.jav
a:218)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:230)
 
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFi
lterChain.java:56)
 
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterC
hain.java:189)
    java.security.AccessController.doPrivileged(Native Method)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:185)
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:233)
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:128)
 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:102)
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2
86)
 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84
5)
 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:583)
 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Thread.java:619)
    

I have no idea DefaultActionMapper would be throwing a
NullPointerException, though... 

> -----Original Message-----
> From: Jon Pearson 
> Sent: Wednesday, May 20, 2009 12:26 PM
> To: Struts Users Mailing List
> Subject: RE: struts2 on jboss java.lang.NoClassDefFoundError: 
> org/apache/struts2/util/ObjectFactoryDestroyable
> 
> I'm having this same problem on Tomcat 6. Here's the stack trace:
> 
> javax.servlet.ServletException:
> org/apache/struts2/util/ObjectFactoryDestroyable
>         at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil
> .java:294)
>         at
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(Securi
> tyUtil.jav
> a:218)
>         at
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(Securi
> tyUtil.jav
> a:178)
>         at
> org.apache.catalina.core.ApplicationFilterConfig.release(Appli
> cationFilt
> erConfig.java:326)
>         at
> org.apache.catalina.core.StandardContext.filterStop(StandardCo
> ntext.java
> :3744)
>         at
> org.apache.catalina.core.StandardContext.stop(StandardContext.
> java:4513)
>         at
> org.apache.catalina.core.ContainerBase.removeChild(ContainerBa
> se.java:92
> 4)
>         at
> org.apache.catalina.startup.HostConfig.checkResources(HostConf
> ig.java:10
> 46)
>         at
> org.apache.catalina.startup.HostConfig.check(HostConfig.java:1214)
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConf
> ig.java:29
> 3)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(L
> ifecycleSu
> pport.java:117)
>         at
> org.apache.catalina.core.ContainerBase.backgroundProcess(Conta
> inerBase.j
> ava:1337)
>         at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProc
> essor.proc
> essChildren(ContainerBase.java:1601)
>         at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProc
> essor.proc
> essChildren(ContainerBase.java:1610)
>         at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProc
> essor.run(
> ContainerBase.java:1590)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/struts2/util/ObjectFactoryDestroyable
>         at
> org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:254)
>         at
> org.apache.struts2.dispatcher.FilterDispatcher.destroy(FilterD
> ispatcher.
> java:233)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at 
> javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>         at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil
> .java:276)
>         ... 15 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.struts2.util.ObjectFactoryDestroyable
>         at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappC
> lassLoader
> .java:1387)
>         at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappC
> lassLoader
> .java:1233)
>         at 
> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>         ... 25 more
> 
> I checked the exploded WAR, and it includes
> WEB-INF/lib/struts2-core-2.1.6.jar
> 
> Any ideas? This is immediately after I deploy the WAR, using the Web
> Application Manager (or by manually copying the WAR into the webapps/
> directory). 
> 
> > -----Original Message-----
> > From: Daniele Del Gaudio [mailto:daniele.delgau...@sociale.it] 
> > Sent: Wednesday, May 20, 2009 9:01 AM
> > To: user@struts.apache.org
> > Subject: struts2 on jboss java.lang.NoClassDefFoundError: 
> > org/apache/struts2/util/ObjectFactoryDestroyable
> > 
> > Hello, can someone help me?
> > 
> > When I undeploy or redeploy my web application based on 
> > struts2 on jboss 
> > 4.2.2 I have this error:
> > 
> > 13:35:57,788 INFO  [TomcatDeployer] undeploy, 
> > ctxPath=/PianificazioneWeb, warUrl=.../deploy/PianificazioneWeb.war/
> > 13:35:57,788 ERROR [BaseModelMBean] Exception invoking 
> method destroy
> > java.lang.NoClassDefFoundError: 
> > org/apache/struts2/util/ObjectFactoryDestroyable
> >     at 
> > 
> org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:257)
> >     at 
> > org.apache.struts2.dispatcher.FilterDispatcher.destroy(FilterD
> > ispatcher.java:221)
> >     at 
> > org.apache.catalina.core.ApplicationFilterConfig.release(Appli
> > cationFilterConfig.java:332)
> >     at 
> > org.apache.catalina.core.StandardContext.filterStop(StandardCo
> > ntext.java:3757)
> >     at 
> > org.apache.catalina.core.StandardContext.stop(StandardContext.
> > java:4517)
> >     at 
> > org.apache.catalina.core.ContainerBase.destroy(ContainerBase.j
> > ava:1163)
> >     at 
> > org.apache.catalina.core.StandardContext.destroy(StandardConte
> > xt.java:4617)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> >     at 
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> >     at java.lang.reflect.Method.invoke(Unknown Source)
> >     at ...
> > 
> > 
> > My web.xml is
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > 
> > <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"; 
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
> > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
> >      <display-name>PianificazioneWeb</display-name>
> >     <context-param>
> >          <param-name>tilesDefinitions</param-name>
> >          <param-value>/WEB-INF/tiles.xml</param-value>
> >      </context-param>
> > 
> >      <filter>
> >          <filter-name>struts2</filter-name>
> >  
> > <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</
> > filter-class>
> >      </filter>
> > 
> >                             
> >      <filter-mapping>
> >          <filter-name>struts2</filter-name>
> >          <url-pattern>/*</url-pattern>
> >      </filter-mapping>
> > 
> > 
> >      <listener>
> >  
> > <listener-class>org.apache.struts2.tiles.StrutsTilesListener</
> > listener-class>
> >      </listener>
> > 
> >      <welcome-file-list>
> >          <welcome-file>index.jsp</welcome-file>
> >      </welcome-file-list>
> > 
> >     <ejb-local-ref>
> >             
> > 
> <ejb-ref-name>serv/ServPianificazioneContrattiBeanLocal</ejb-ref-name>
> >             <ejb-ref-type>Session</ejb-ref-type>
> >             <local-home></local-home>
> >             
> > 
> <local>pianificazioneEjb.services.ServPianificazioneContratti</local>
> >     </ejb-local-ref>
> >     <ejb-local-ref>
> >             
> > <ejb-ref-name>serv/ServPianificazioneOpportunitaBeanLocal</ejb
> > -ref-name>
> >             <ejb-ref-type>Session</ejb-ref-type>
> >             <local-home></local-home>
> >             
> > <local>pianificazioneEjb.services.ServPianificazioneOpportunit
> > a</local>
> >     </ejb-local-ref>
> >     <ejb-local-ref>
> >             
> > 
> <ejb-ref-name>serv/ServPianificazioneProgettiBeanLocal</ejb-ref-name>
> >             <ejb-ref-type>Session</ejb-ref-type>
> >             <local-home></local-home>
> >             
> > <local>pianificazioneEjb.services.ServPianificazioneProgetti</local>
> >     </ejb-local-ref>
> > </web-app>
> > 
> > My jboss-web.xml is
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!--
> >   *  Copyright 2008, Javid Jamae and Peter Johnson
> >   *
> >   *  Licensed under the Apache License, Version 2.0 (the 
> > "License"); you 
> > may not
> >   *  use this file except in compliance with the License. You 
> > may obtain 
> > a copy
> >   *  of the License at
> >   *
> >   *     http://www.apache.org/licenses/LICENSE-2.0
> >   *
> >   *  Unless required by applicable law or agreed to in 
> > writing, software
> >   *  distributed under the License is distributed on an "AS 
> > IS" BASIS, 
> > WITHOUT
> >   *  WARRANTIES OR CONDITIONS OF ANY KIND, either express 
> or implied. 
> > See the
> >   *  License for the specific language governing permissions 
> > and limitations
> >   *  under the License.
> > -->
> > <jboss-web>
> >        <loader-repository>
> >                     pianificazioneWeb:loader=LoaderPianificazioneWeb
> >                <loader-repository-config>
> >                     java2ParentDelegation=false
> >                </loader-repository-config>
> >        </loader-repository> 
> >             <ejb-local-ref>
> >                
> > 
> <ejb-ref-name>serv/ServPianificazioneContrattiBeanLocal</ejb-ref-name>
> >              
> > <local-jndi-name>Accoglienza/ServPianificazioneContrattiBean/l
> > ocal</local-jndi-name>
> >         </ejb-local-ref>
> >         <ejb-local-ref>
> >              
> > <ejb-ref-name>serv/ServPianificazioneOpportunitaBeanLocal</ejb
> > -ref-name>
> >              
> > <local-jndi-name>Accoglienza/ServPianificazioneOpportunitaBean
> > /local</local-jndi-name>
> >         </ejb-local-ref>
> >         <ejb-local-ref>
> >                
> > 
> <ejb-ref-name>serv/ServPianificazioneProgettiBeanLocal</ejb-ref-name>
> >              
> > <local-jndi-name>Accoglienza/ServPianificazioneProgettiBean/lo
> > cal</local-jndi-name>
> >         </ejb-local-ref>
> > </jboss-web>
> > 
> > and my struts.xml is
> > 
> > <?xml version="1.0" encoding="UTF-8" ?>
> > <!DOCTYPE struts PUBLIC
> >      "-//Apache Software Foundation//DTD Struts 
> Configuration 2.0//EN"
> >      "http://struts.apache.org/dtds/struts-2.0.dtd";>
> > 
> > <struts>
> > 
> >     <constant name="struts.enable.DynamicMethodInvocation" 
> > value="true" />
> >     <!-- etichette e messaggi dell'intera applicazione sono in 
> > MessageResources.properties -->
> >      <constant name="struts.custom.i18n.resources" 
> > value="MessageResources" />
> >      <constant name="struts.ui.theme" value="css_xhtml" />
> >        <!-- devMode, i18n.reload,nocache a true solo in ambiente di 
> > sviluppo -->
> >      <constant name="struts.devMode"  value="true" />
> >      <constant name="struts.i18n.reload" value="true" />
> >      <constant name="struts.xslt.nocache" value="true" />
> >      <constant name="struts.configuration.xml.reload" 
> value="true" />
> > 
> > 
> > 
> > 
> >       <!-- <include file="struts-default.xml"/>    -->
> > 
> >       <package name="action" extends="tiles-default">
> > 
> >           <!-- le righe sotto sovrascrivono la def di result-type 
> > scritta uguale nel file struts-plugin.xml
> >           in struts2-tiles-plugin-2.0.9.jar ma senza il 
> > default="true"  -->
> > 
> >     
> >             <global-results>
> >                <result name="error">/chapterEight/Error.jsp</result>
> >         </global-results>
> >             
> >          <global-exception-mappings>
> >             <exception-mapping exception="java.lang.Exception" 
> > result="error"/>
> >          </global-exception-mappings>
> > 
> >          <action name="PianificazioneContratto" 
> > class="pianificazioneWeb.action.PianificazioneContratto">
> >             <interceptor-ref name="defaultStack">
> >               <param 
> > name="params.excludeParams">idOpportunita,idProgetto</param>
> >             </interceptor-ref>
> >             <result type="tiles" name="input" 
> >  >tiles.PianificazioneContratto</result>
> >             <result type="tiles" name="error" 
> >  >tiles.PianificazioneContratto</result>
> >             <result type="tiles" name="success" 
> >  >tiles.PianificazioneContratto</result>
> >           <!--    <interceptor-ref name="basicStack"/> -->  
> >          </action>
> > 
> >         <action name="DatiContratto" 
> > class="pianificazioneWeb.action.DatiContratto">
> >             <result type="tiles" >tiles.Contratto</result>
> >           <!--    <interceptor-ref name="basicStack"/> -->  
> >          </action>
> > 
> >         <action name="Opportunita" 
> > class="pianificazioneWeb.action.DatiOpportunita">
> >             <result type="tiles" >tiles.Opportunita</result>
> >           <!--    <interceptor-ref name="basicStack"/> -->  
> >          </action>
> > 
> >          <action name="Progetto" 
> > class="pianificazioneWeb.action.DatiProgetto">
> >             <interceptor-ref name="defaultStack">
> >               <param 
> > name="params.excludeParams">idOpportunita,idProgetto</param>
> >             </interceptor-ref>
> >             <result type="tiles" >tiles.Progetto</result>
> >           <!--    <interceptor-ref name="basicStack"/> -->  
> >          </action>
> > 
> >          <action name="InsPianificContratto" 
> > class="pianificazioneWeb.action.InsPianificContratto">
> >             <result type="tiles" 
> >tiles.InsPianificContratto</result>
> >          </action>
> > 
> >          <action name="SalvaInsPianificContratto" 
> > class="pianificazioneWeb.action.InsPianificContratto">
> >             <result type="redirect" 
> >  >/action/PianificazioneContratto.action</result>
> >          </action>
> > 
> >          <action name="InsPianificPM" 
> > class="pianificazioneWeb.action.InsPianificPM">
> >             <result type="tiles" >tiles.InsPianificPM</result>
> >          </action>
> >                     
> >       </package>
> > </struts>
> > 
> > 
> > Thanks,
> > daniele
> > 
> > 
> > __________ Information from ESET NOD32 Antivirus, version of 
> > virus signature database 4090 (20090520) __________
> > 
> > The message was checked by ESET NOD32 Antivirus.
> > 
> > http://www.eset.com
> > 
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> > 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to