I am working on a project in eclipse that when I launch using the jetty plugin gives me a java.lang.AbstractMethodError: au.com.mycopmpany.impl.MyClassDAOImpl.findById(Ljava/lang/Integer;)Ljava/lang/Object;.
This file compiles file in eclipse, and the code is implementing the method that the error talks about. From my reading this error is that "at runtime" the JVM finds a class that doesn't have this method implemented.
But I can assure you that the MyClassDAOImpl most definatly does have the findById method implemented with the correct signature.
This seems like a bug in the eclipse compiler, as I can fix the issue by doing a maven package from a command prompt, and then run the application within eclipse and it works fine.
It seems that the eclipse compiler has some sort of bug in relation to this class.. I did read something online about a bug with Generic's in the eclipse compiler, (which this class does use Generics) but this base class / interface is re-implemented over and over in our code base, and it is this class that always has problems.
Does anyone know a workaround, or better yet, a fix for this problem?
I can replicate this exception everytime, so if an eclipse compiler developer reads this, and this is a known issue, please feel free to contact me for assistance in tracking down the issue.
Update:
The class with the issue is one of many that implement GenericDAO, where the Generic interface is defined as: public interface GenericDAO
The method in question that is failing is: public T findById(Integer integer) throws APIException;