2012-08-27 14 views
6

estoy trabajando en un proyecto en NetBeans que cuando inicio usando el 3.1.2.Everything glassfish funciona fine.But cuando llamo la url/invitar a la que está asignada a siguiente métodométodo abstracto de error

@RequestMapping(value = "/invite", method = RequestMethod.POST) 
    @ExceptionHandler(GenericException.class) 
    public ModelAndView create(@ModelAttribute(value = "preRegister") @Valid PreRegister preRegister, BindingResult result, HttpServletRequest request) { 
     mav = new ModelAndView(); 
     validator.validate(preRegister, result); 
     List<Role> roleList = null; 
     if (result.hasErrors()) { 
      mav.setViewName("user_populate_create"); 
      try { 
       roleList = roleDao.list(); 
      } catch (Exception ex) { 
       logger.error("UserController: Unable to list Roles: ", ex); 
       throw new GenericException("UserController: Unable to list Roles: " + ex.getMessage()); 
      } 
      if (roleList == null || roleList.isEmpty()) { 
       throw new GenericException("UserController: Unable to list Roles"); 
      } else { 
       mav.addObject("roles", roleList); 
      } 

     } else { 
      String uuid = RandomUuid.generate(); 
      preRegister.setUrlCode(uuid); 
      preRegister.setCreatedOn(Helper.rightNow()); 
      List<PreRegister> p; 

      try { 
       p = preRegisterDao.findbyQuery("checkAvailability", preRegister.getLoginId()); 
       if (p == null || p.isEmpty()) { 
        preRegisterDao.saveOrUpdate(preRegister); 
       } else { 
        throw new GenericException("User Email Id is Exist! try With another Email Id "); 
       } 
      } catch (Exception exception) { 
       exception.printStackTrace(); 
       logger.error("Invite user: ", exception); 
       throw new GenericException("Exception :: " + exception.getMessage()); 

      } 



     } 
     return mav; 

    } 

Incluso la primera línea del método no se ejecuta y me da este StackTrace

java.lang.AbstractMethodError 
    at javax.persistence.Persistence$PersistenceUtilImpl.isLoaded(Unknown Source) 
    at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:61) 
    at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:131) 
    at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46) 
    at org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1242) 
    at org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:448) 
    at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:397) 
    at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:361) 
    at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:313) 
    at org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:139) 
    at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:86) 
    at org.springframework.validation.DataBinder.validate(DataBinder.java:692) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:807) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) 
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:722) 

estoy utilizando Spring MVC 3.0 Hibernate 3 y recientemente he actualizado mi versión JDK de jdk6 a JDK7 y Estoy usando IBM generic DAO. Busqué horas en Internet sobre esto, pero no pude encontrar la solución.

ACTUALIZACIÓN: Lista de archivos Jar que he usado.

file: dwr.jar 
file: gson-2.2.1.jar 
file: javaee-api-6.0.jar 
file: ejb3-persistence.jar 
file: hibernate-annotations.jar 
file: hibernate-commons-annotations.jar 
file: hibernate-entitymanager.jar 
file: hibernate-validator.jar 
file: hibernate3.jar 
file: persistence.jar 
file: Jhove-final.jar 
file: jhove-handler.jar 
file: jhove-module.jar 
file: jhove.jar 
file: json-org.jar 
file: json-taglib-0.4.1.jar 
file: antlr-2.7.6.jar 
file: antlr-runtime-3.0.jar 
file: aspectjrt.jar 
file: aspectjweaver.jar 
file: commons-beanutils-1.8.0.jar 
file: commons-collections-3.1.jar 
file: commons-dbcp.jar 
file: commons-digester-2.0.jar 
file: dom4j-1.6.1.jar 
file: ehcache-1.2.3.jar 
file: javassist-3.9.0.GA.jar 
file: jstl-1.2.jar 
file: jta-1.1.jar 
file: log4j-1.2.14.jar 
file: mysql-connector-java-5.1.18-bin.jar 
file: servlet-api-2.3.jar 
file: slf4j-api-1.5.8.jar 
file: slf4j-log4j12-1.5.8.jar 
file: cas-client-core-3.1.10.jar 
file: ldapsdk-4.1.jar 
file: spring-ldap-core-1.3.0.RELEASE.jar 
file: spring-security-acl-3.0.5.RELEASE.jar 
file: spring-security-cas-client-3.0.5.RELEASE.jar 
file: spring-security-config-3.0.5.RELEASE.jar 
file: spring-security-core-3.0.5.RELEASE.jar 
file: spring-security-ldap-3.0.5.RELEASE.jar 
file: spring-security-openid-3.0.5.RELEASE.jar 
file: spring-security-taglibs-3.0.5.RELEASE.jar 
file: spring-security-web-3.0.5.RELEASE.jar 
file: com.springsource.net.sf.cglib-2.2.0.jar 
file: com.springsource.org.aopalliance-1.0.0.jar 
file: com.springsource.org.apache.commons.logging-1.1.1.jar 
file: com.springsource.org.apache.commons.pool-1.5.3.jar 
file: com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 
file: org.springframework.aop-3.0.5.RELEASE.jar 
file: org.springframework.asm-3.0.5.RELEASE.jar 
file: org.springframework.aspects-3.0.5.RELEASE.jar 
file: org.springframework.beans-3.0.5.RELEASE.jar 
file: org.springframework.context-3.0.5.RELEASE.jar 
file: org.springframework.context.support-3.0.5.RELEASE.jar 
file: org.springframework.core-3.0.5.RELEASE.jar 
file: org.springframework.expression-3.0.5.RELEASE.jar 
file: org.springframework.instrument-3.0.5.RELEASE.jar 
file: org.springframework.instrument.tomcat-3.0.5.RELEASE.jar 
file: org.springframework.jdbc-3.0.5.RELEASE.jar 
file: org.springframework.orm-3.0.5.RELEASE.jar 
file: org.springframework.test-3.0.5.RELEASE.jar 
file: org.springframework.transaction-3.0.5.RELEASE.jar 
file: org.springframework.web-3.0.5.RELEASE.jar 
file: org.springframework.web.servlet-3.0.5.RELEASE.jar 
file: tiles-api-2.2.2.jar 
file: tiles-compat-2.2.2.jar 
file: tiles-core-2.2.2.jar 
file: tiles-el-2.2.2.jar 
file: tiles-extras-2.2.2.jar 
file: tiles-freemarker-2.2.2.jar 
file: tiles-jsp-2.2.2.jar 
file: tiles-mvel-2.2.2.jar 
file: tiles-ognl-2.2.2.jar 
file: tiles-servlet-2.2.2.jar 
file: tiles-servlet-wildcard-2.2.2.jar 
file: tiles-template-2.2.2.jar 
file: tiles-velocity-2.2.2.jar 
file: UUID-Parser.jar 
file: SafeCommons.jar 
file: safe_commons_v2.jar 
file: FileUtillsDoc.jar 
file: SAFE_MS2_V1_FILEUTILLS.jar 
file: jackson-annotations-2.0.4.jar 
file: jackson-core-2.0.4.jar 
file: jackson-databind-2.0.4.jar 
file: jai_codec-1.1.3.jar 
file: jai_core-1.1.3.jar 
file: pdfbox-app-1.3.1.jar 
file: sanselan-0.97-incubator.jar 
file: jai_codec-1.1.3.jar 
file: jai_core-1.1.3.jar 
file: pdfbox-app-1.3.1.jar 
file: sanselan-0.97-incubator.jar 

Respuesta

20

java.lang.AbstractMethodError se lanza cuando una aplicación intenta llamar a un método abstracto. Normalmente, este error es capturado por el compilador; este error solo puede ocurrir en tiempo de ejecución si la definición de alguna clase ha cambiado de forma incompatible desde la última compilación del método que se está ejecutando actualmente.

Parece que este problema se debe a la incompatibilidad de versiones en algunos archivos jar. No puedo entenderlo desde tu código. Por favor marque this thread.

+0

El enlace a la documentación original y el formato correspondiente para citar el texto sería bueno. – morpheus05

+1

Ese fue mi problema, diferentes versiones de clases. Muchas gracias. –

+0

en mi caso llamé al método a través de la interfaz devuelta, y el error de compilación pasado por alto estaba allí :) – kiedysktos

0

Ponga un punto de interrupción en la excepción (o en la línea donde está ocurriendo) para averiguar qué clase/método está causando exactamente el problema, luego busque en su classpath todas las ocurrencias de esta clase. Si tiene más de una versión de una clase en su classpath, elimine la incorrecta.

-1

Aspectj versión 1.7.3 va a resolver este problema Éntrenos en probarlo

1

Esto puede ocurrir en NetBeans durante la ejecución de Java 8 e implementar una interfaz que use lambdas y luego cambiar la firma interfaces.

solución simple: ejecutar limpieza y construcción (Shift +F11 es por defecto) *

2

Este error se debe a un método abstracto se llama sin aplicación real. Por lo general, ocurre después de que se actualiza una biblioteca, mientras que otras no. Las dependencias faltan de alguna manera.

Por lo tanto, compruebe si todas las actualizaciones de la biblioteca se completan correctamente.

Here es un buen ejemplo y una demostración de cómo se puede producir un AbstractMethodError.

+0

Awesome answer! ¡Gracias! –

0

Tuve este error por una causa no mencionada aquí.

Estaba usando proguard y ofuscaba una clase, que luego conducía a AbstractMethodError. Solo tenía que mantener a esa clase en guardia.

Cuestiones relacionadas