parse-tika is an excellent example here. I am sorry I'm not in front of the code right now. hth
On Tuesday, July 23, 2013, AC Nutch <acnu...@gmail.com> wrote: > Excellent, thank you! It did clarify a bit - in particular now I know that > I'm not crazy and that this is indeed a somewhat common problem with a > solution. However, I'm still a little lost on the solution part of it :-). > If I understand correctly... > > In the plugin manifest file I need to define the dependencies and they will > be added to the class-loader such that they will get used. However, I'm a > little shady on how to do that, in my plugin.xml file I have the following: > > <runtime> > <library name="index-vulns.jar"> > <export name="*"/> > </library> > <library name="commons-codec-1.6.jar"/> > <library name="commons-io-2.4.jar"/> > <library name="commons-logging-1.1.1.jar"/> > <library name="fluent-hc-4.2.5.jar.jar"/> > <library name="httpclient-4.2.5.jar"/> > <library name="httpclient-cache-4.2.5.jar"/> > <library name="httpcore-4.2.4.jar"/> > <library name="httpmime-4.2.5"/> > <library name="web3-scanner-1.0.jar"/> > </runtime> > > If I understand properly this should be sufficient to have the jars added > to the plugin class-loader. However, that doesn't appear to be the case - I > must be missing something, but I'm not sure what that is...? > > Alex > > > > On Tue, Jul 23, 2013 at 11:30 PM, Lewis John Mcgibbney < > lewis.mcgibb...@gmail.com> wrote: > >> Hi Alex, >> About now is a good time to read how Nutch deals with classloading. >> Navigate to plugin central on the wiki and you will see the documentation. >> hth you out >> Lewis >> >> On Tuesday, July 23, 2013, AC Nutch <acnu...@gmail.com> wrote: >> > 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 >> > >> >> -- >> *Lewis* >> > -- *Lewis*