Buenas, estoy siguiendo este tutorial para realizar una app web con struts:
http://loquesedestruts.blogspot.com.es/2012/05/manejo-de-formularios-con-struts.html
En este caso he sustituido la clase Persona por una clase Paciente que a su vez he incluido dentro de un package modelo, de forma que en la clase de la accion hago un import modelo.Paciente;
La aplicación compila y ejecuta perfectamente pero al intentar cargar la pagina de la accion me da esta excepcion:
Estado HTTP 500 - La ejecución del Filtro lanzó una excepción
type Informe de Excepción
mensaje La ejecución del Filtro lanzó una excepción
descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
excepción
javax.servlet.ServletException: La ejecución del Filtro lanzó una excepción
causa raíz
java.lang.NoClassDefFoundError: Lmodelo/Paciente;
java.lang.Class.getDeclaredFields0(Native Method)
java.lang.Class.privateGetDeclaredFields(Class.jav a:2308)
java.lang.Class.getDeclaredFields(Class.java:1760)
com.opensymphony.xwork2.inject.ContainerImpl.addIn jectors(ContainerImpl.java:89)
com.opensymphony.xwork2.inject.ContainerImpl$1.cre ate(ContainerImpl.java:71)
com.opensymphony.xwork2.inject.ContainerImpl$1.cre ate(ContainerImpl.java:67)
com.opensymphony.xwork2.inject.util.ReferenceCache $CallableCreate.call(ReferenceCache.java:150)
java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:334)
java.util.concurrent.FutureTask.run(FutureTask.jav a:166)
com.opensymphony.xwork2.inject.util.ReferenceCache .internalCreate(ReferenceCache.java:76)
com.opensymphony.xwork2.inject.util.ReferenceCache .get(ReferenceCache.java:116)
com.opensymphony.xwork2.inject.ContainerImpl.injec t(ContainerImpl.java:490)
com.opensymphony.xwork2.inject.ContainerImpl$6.cal l(ContainerImpl.java:530)
com.opensymphony.xwork2.inject.ContainerImpl$6.cal l(ContainerImpl.java:528)
com.opensymphony.xwork2.inject.ContainerImpl.callI nContext(ContainerImpl.java:584)
com.opensymphony.xwork2.inject.ContainerImpl.injec t(ContainerImpl.java:528)
com.opensymphony.xwork2.ObjectFactory.injectIntern alBeans(ObjectFactory.java:139)
com.opensymphony.xwork2.ObjectFactory.buildBean(Ob jectFactory.java:164)
com.opensymphony.xwork2.ObjectFactory.buildBean(Ob jectFactory.java:151)
com.opensymphony.xwork2.ObjectFactory.buildAction( ObjectFactory.java:121)
com.opensymphony.xwork2.DefaultActionInvocation.cr eateAction(DefaultActionInvocation.java:297)
com.opensymphony.xwork2.DefaultActionInvocation.in it(DefaultActionInvocation.java:397)
com.opensymphony.xwork2.DefaultActionProxy.prepare (DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare( StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.c reateActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory. createActionProxy(DefaultActionProxyFactory.java:5 8)
org.apache.struts2.dispatcher.Dispatcher.serviceAc tion(Dispatcher.java:536)
org.apache.struts2.dispatcher.ng.ExecuteOperations .executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrep areAndExecuteFilter.doFilter(StrutsPrepareAndExecu teFilter.java:91)
causa raíz
java.lang.ClassNotFoundException: modelo.Paciente
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1713)
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1558)
java.lang.Class.getDeclaredFields0(Native Method)
java.lang.Class.privateGetDeclaredFields(Class.jav a:2308)
java.lang.Class.getDeclaredFields(Class.java:1760)
com.opensymphony.xwork2.inject.ContainerImpl.addIn jectors(ContainerImpl.java:89)
com.opensymphony.xwork2.inject.ContainerImpl$1.cre ate(ContainerImpl.java:71)
com.opensymphony.xwork2.inject.ContainerImpl$1.cre ate(ContainerImpl.java:67)
com.opensymphony.xwork2.inject.util.ReferenceCache $CallableCreate.call(ReferenceCache.java:150)
java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:334)
java.util.concurrent.FutureTask.run(FutureTask.jav a:166)
com.opensymphony.xwork2.inject.util.ReferenceCache .internalCreate(ReferenceCache.java:76)
com.opensymphony.xwork2.inject.util.ReferenceCache .get(ReferenceCache.java:116)
com.opensymphony.xwork2.inject.ContainerImpl.injec t(ContainerImpl.java:490)
com.opensymphony.xwork2.inject.ContainerImpl$6.cal l(ContainerImpl.java:530)
com.opensymphony.xwork2.inject.ContainerImpl$6.cal l(ContainerImpl.java:528)
com.opensymphony.xwork2.inject.ContainerImpl.callI nContext(ContainerImpl.java:584)
com.opensymphony.xwork2.inject.ContainerImpl.injec t(ContainerImpl.java:528)
com.opensymphony.xwork2.ObjectFactory.injectIntern alBeans(ObjectFactory.java:139)
com.opensymphony.xwork2.ObjectFactory.buildBean(Ob jectFactory.java:164)
com.opensymphony.xwork2.ObjectFactory.buildBean(Ob jectFactory.java:151)
com.opensymphony.xwork2.ObjectFactory.buildAction( ObjectFactory.java:121)
com.opensymphony.xwork2.DefaultActionInvocation.cr eateAction(DefaultActionInvocation.java:297)
com.opensymphony.xwork2.DefaultActionInvocation.in it(DefaultActionInvocation.java:397)
com.opensymphony.xwork2.DefaultActionProxy.prepare (DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare( StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.c reateActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory. createActionProxy(DefaultActionProxyFactory.java:5 8)
org.apache.struts2.dispatcher.Dispatcher.serviceAc tion(Dispatcher.java:536)
org.apache.struts2.dispatcher.ng.ExecuteOperations .executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrep areAndExecuteFilter.doFilter(StrutsPrepareAndExecu teFilter.java:91)
A que puede deberse esto? Entiendo que se refiere a que no encuentra la clase paciente pero entonces no deberia compilar no?