+1

On 2/1/06, Stefan Groschupf <[EMAIL PROTECTED]> wrote:
>
> +1
>
> Am 01.02.2006 um 22:35 schrieb Andrzej Bialecki:
>
> > Hi,
> >
> > I just found out that it's not possible to invoke main() methods of
> > plugins through the bin/nutch script. Sometimes it's useful for
> > testing and debugging - I can do it from within Eclipse, because I
> > have all plugins on the classpath, but from the command-line it's
> > not possible - in the code they are accessed through
> > PluginRepository. So I added this:
> >
> >    public static void main(String[] args) throws Exception {
> >      NutchConf conf = new NutchConf();
> >      PluginRepository repo = new PluginRepository(conf);
> >      // args[0] - plugin ID
> >      PluginDescriptor d = repo.getPluginDescriptor(args[0]);
> >      if (d == null) {
> >        System.err.println("Plugin '" + args[0] + "' not present or
> > inactive.");
> >        return;
> >      }
> >      ClassLoader cl = d.getClassLoader();
> >      // args[1] - class name
> >      Class clazz = Class.forName(args[1], true, cl);
> >      Method m = clazz.getMethod("main", new Class[]{args.getClass()});
> >      String[] subargs = new String[args.length - 2];
> >      System.arraycopy(args, 2, subargs, 0, subargs.length);
> >      m.invoke(null, new Object[]{subargs});
> >    }
> >
> > It works rather nicely. If other people find it useful, I can add
> > this to PluginRepository.
> >
> > --
> > Best regards,
> > Andrzej Bialecki     <><
> > ___. ___ ___ ___ _ _   __________________________________
> > [__ || __|__/|__||\/|  Information Retrieval, Semantic Web
> > ___|||__||  \|  ||  |  Embedded Unix, System Integration
> > http://www.sigram.com  Contact: info at sigram dot com
> >
> >
> >
>
> ---------------------------------------------------------------
> company:        http://www.media-style.com
> forum:        http://www.text-mining.org
> blog:            http://www.find23.net
>
>
>
>


--
http://motrech.free.fr/
http://www.frutch.org/

Reply via email to