Hi All, I'm attempting to build a Nutch plugin on Nutch 1.7 with some external dependencies. The way I've handled this in the past is to just put the dependencies in lib/ and be done with it. However, now I have some dependencies that are newer versions of dependencies already present in Nutch. For example, I'm using the Apache httpclient-4.2.5.jar library whereas Nutch appears to use httpclient-4.1.2 and httpclient-4.1.3. Unfortunately, I do need the plugin to compile and run with my version (I can't just downgrade, not a valid solution).
I've added the necessary jars to my plugin's ivy.xml and they download just fine and the plugin compiles, which is wonderful. However, when I go to run it (in local mode) I get "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/utils/URLEncodedUtils". Moving my own later versions of the file to the ClassPath in runtime/local/lib/ gives me additional issues - "Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.parse" which appears to be an error caused by Nutch trying to use an older version of the httpclient library (it disappears if I remove the "older" jars from the classpath). My question is - how would I go about adding these dependencies such that my plugin would use these jars and I'm not having to remove libraries that Nutch may need? I believe I'm missing a critical step here or a missing directive in one of the plugin XML directive files... any ideas? Thanks! Alex

