Abstract Method Error

匿名 (未验证) 提交于 2019-12-03 00:56:02

问题:

I am working on a project in netbeans that when I launch it using the glassfish 3.1.2.Everything works fine.But when i call the /invite url which is mapped to following method

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

Even the first line of method is not executed and gives me this 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) 

I am using Spring MVC 3.0 Hibernate 3 and i have recently updated my jdk version from jdk6 to jdk7 and I am using IBM generic DAO. I searched hours on the internet about this but could not find the solution.

UPDATE : Jar files list which i used.

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 

回答1:

java.lang.AbstractMethodError is thrown when an application tries to call an abstract method. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled.

Seems like this problem is due to version incompatibility in some of the jar file. I can not figure it from your code. Please check this thread.



回答2:

This error occurs because an abstract method is called without actual implementation. It usually happens after some library is upgraded while some is not. The dependencies are missing somehow.

Hence please check whether all library upgrades complete successfully.

Here is a good example and demonstration on how an AbstractMethodError can occur.



回答3:

This can occur in NetBeans while running Java 8 and implementing an interface using lambdas and then changing the interfaces signature.

Simple solution: run Clean and build (Shift+F11 is by default)*



回答4:

Put a Breakpoint on the Exception (or the line where it is occurring) to find out which class/method exactly is causing the problem, then search your classpath for all occurrences of this class. If you have more than one version of a class on your classpath, remove the wrong one.



回答5:

I had this error from a cause not mentioned here.

I was using proguard and it obfuscated a class, which then led to the AbstractMethodError. Just had to keep that class in proguard.



回答6:

Aspectj version 1.7.3 will solve this issue .Please try it out



文章来源: Abstract Method Error
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!