Apparently looks like a bug in the following method of AbderaClient
; which is using reflection to locate a constructor for LRUCacheFactory:
private CacheFactory initCacheFactory() {
CacheFactory cacheFactory =
(CacheFactory)Discover.locate(
CacheFactory.class.getName(),
LRUCacheFactory.class.getName(),
abdera);
return cacheFactory;
}
Check if there is any such constructor in your version of LRUCacheFactory
.
Suggesting to switch to latest Abdera release (1.1.3). However, I found a workaround as well in a forum. Try if it is working.
AbderaClient client;
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try {
ClassLoader cl = this.getClass().getClassLoader();
Thread.currentThread().setContextClassLoader(cl);
Abdera abdera = new Abdera();
client = new AbderaClient(abdera);
// Do something with client
} finally {
// Restore original classloader
Thread.currentThread().setContextClassLoader(originalClassLoader);
}
Refer to this link for more details regarding this workaround.