2012-08-27 5 views
6

Sto lavorando su un progetto in NetBeans che quando lo lancio con il 3.1.2.Everything pesci vetro funziona fine.But quando chiamo l'url/invito che viene mappato al seguente metodoastratta Metodo errore

@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; 

    } 

Anche la prima linea di metodo non viene eseguito e mi dà questo 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) 

sto usando Spring MVC 3.0 Hibernate 3 e ho recentemente aggiornato la mia versione del JDK da JDK6 a jdk7 e Sto usando IBM generic DAO. Ho cercato ore su internet su questo, ma non ho trovato la soluzione.

UPDATE: lista dei file Jar che ho usato.

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 

risposta

20

java.lang.AbstractMethodError viene generato quando un'applicazione tenta di chiamare un metodo astratto. Normalmente, questo errore viene catturato dal compilatore; questo errore può verificarsi solo in fase di esecuzione se la definizione di qualche classe è stata modificata in modo incompatibile dal momento in cui il metodo attualmente in esecuzione è stato compilato l'ultima volta.

Sembra che questo problema sia dovuto alla incompatibilità della versione in alcuni dei file jar. Non riesco a capirlo dal tuo codice. Si prega di verificare this thread.

+0

Il collegamento alla documentazione originale e la formattazione corrispondente per il testo di citazione sarebbe bello. – morpheus05

+1

Questo era il mio problema, diverse versioni delle classi. Grazie mille. –

+0

nel mio caso ho chiamato il metodo attraverso l'interfaccia restituita, e l'errore di compilazione trascurato era lì :) – kiedysktos

0

Mettere un punto di interruzione sull'eccezione (o sulla linea in cui si sta verificando) per scoprire quale classe/metodo sta causando esattamente il problema, quindi cercare il classpath per tutte le occorrenze di questa classe. Se hai più di una versione di una classe sul classpath, rimuovi quella sbagliata.

-1

aspectj versione 1.7.3 risolverà questo problema prego provarlo

1

Ciò può verificarsi in NetBeans durante l'esecuzione di Java 8 e l'implementazione di un'interfaccia utilizzando lambda e quindi modificando la firma interfacce.

Soluzione semplice: correre pulito e costruire (Maiusc +F11 è per default) *

2

Questo errore si verifica perché un metodo astratto viene chiamato senza effettiva attuazione. Di solito succede dopo che alcune librerie sono state aggiornate mentre altre no. Le dipendenze mancano in qualche modo.

Quindi verificare se tutti gli aggiornamenti della libreria sono stati completati correttamente.

Here è un buon esempio e dimostrazione su come può verificarsi un AbstractMethodError.

+0

Risposta impressionante! Grazie! –

0

Ho ricevuto questo errore da una causa non menzionata qui.

Stavo usando proguard e ha offuscato una classe, che poi ha portato a AbstractMethodError. Dovevo solo tenere quella lezione in proguard.