Hello,

I've been looking at the plugin writing tutorial on the Nutch wiki
(http://wiki.apache.org/nutch/WritingPluginExample-0%2e9).

First it tells you to start by "downloading the Nutch source code". The
thing that I downloaded is the release zip file of Nutch that pretty much
works out of the box (I didn't compile or package anything). Within the
Nutch folder, I have a folder called src. Is that what the tutorial is
referring to or was I supposed to download something else?

My next issue is where to save the files. The tutorial starts off well but
then becomes less and less descriptive. What I did was I created a folder
within src/plugin called "recommended" like they suggested, and then I
placed the following files from the code that they had:

1) build.xml and plugin.xml in C:\nutch-0.9\src\plugin\recommended
2) RecommendedIndexer.java, RecommendedParser.java, QueryFilter.java in
C:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\recommended

When I try to compile using the ant command in cygwin, I get the following:

----------------------------------------------------------------------
Buildfile: build.xml

init:

init-plugin:

deps-jar:

compile:
     [echo] Compiling plugin: recommended
    [javac] Compiling 3 source files to
c:\nutch-0.9\build\recommended\classes
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\QueryFilter.java:12: class RecommendedQueryFilter is public,
should
be declared in a file named RecommendedQueryFilter.java
    [javac] public class RecommendedQueryFilter extends FieldQueryFilter {
    [javac]        ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\QueryFilter.java:3: package org.apache.nutch.searcher does not
exist

    [javac] import org.apache.nutch.searcher.FieldQueryFilter;
    [javac]                                 ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\QueryFilter.java:12: cannot find symbol
    [javac] symbol: class FieldQueryFilter
    [javac] public class RecommendedQueryFilter extends FieldQueryFilter {
    [javac]                                             ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:12: package org.apache.nutch.util does
not e
xist
    [javac] import org.apache.nutch.util.LogUtil;
    [javac]                             ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:13: package org.apache.nutch.fetcher
does no
t exist
    [javac] import org.apache.nutch.fetcher.FetcherOutput;
    [javac]                                ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:14: package org.apache.nutch.indexer
does no
t exist
    [javac] import org.apache.nutch.indexer.IndexingFilter;
    [javac]                                ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:15: package org.apache.nutch.indexer
does no
t exist
    [javac] import org.apache.nutch.indexer.IndexingException;
    [javac]                                ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:16: cannot find symbol
    [javac] symbol  : class Parse
    [javac] location: package org.apache.nutch.parse
    [javac] import org.apache.nutch.parse.Parse;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:20: package org.apache.nutch.crawl does
not
exist
    [javac] import org.apache.nutch.crawl.CrawlDatum;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:21: package org.apache.nutch.crawl does
not
exist
    [javac] import org.apache.nutch.crawl.Inlinks;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:27: cannot find symbol
    [javac] symbol: class IndexingFilter
    [javac] public class RecommendedIndexer implements IndexingFilter {
    [javac]                                            ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:36: cannot find symbol
    [javac] symbol  : class Parse
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedIndexe
r
    [javac]   public Document filter(Document doc, Parse parse, Text url,
    [javac]                                        ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:37: cannot find symbol
    [javac] symbol  : class CrawlDatum
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedIndexe
r
    [javac]     CrawlDatum datum, Inlinks inlinks)
    [javac]     ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:37: cannot find symbol
    [javac] symbol  : class Inlinks
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedIndexe
r
    [javac]     CrawlDatum datum, Inlinks inlinks)
    [javac]                       ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedIndexer.java:38: cannot find symbol
    [javac] symbol  : class IndexingException
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedIndexe
r
    [javac]     throws IndexingException {
    [javac]            ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:10: cannot find symbol
    [javac] symbol  : class HTMLMetaTags
    [javac] location: package org.apache.nutch.parse
    [javac] import org.apache.nutch.parse.HTMLMetaTags;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:11: cannot find symbol
    [javac] symbol  : class Parse
    [javac] location: package org.apache.nutch.parse
    [javac] import org.apache.nutch.parse.Parse;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:12: cannot find symbol
    [javac] symbol  : class HtmlParseFilter
    [javac] location: package org.apache.nutch.parse
    [javac] import org.apache.nutch.parse.HtmlParseFilter;
    [javac]                              ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:13: package org.apache.nutch.protocol
does no
t exist
    [javac] import org.apache.nutch.protocol.Content;
    [javac]                                 ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:22: cannot find symbol
    [javac] symbol: class HtmlParseFilter
    [javac] public class RecommendedParser implements HtmlParseFilter {
    [javac]                                           ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:34: cannot find symbol
    [javac] symbol  : class Content
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedParser

    [javac]   public Parse filter(Content content, Parse parse,
    [javac]                       ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:34: cannot find symbol
    [javac] symbol  : class Parse
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedParser

    [javac]   public Parse filter(Content content, Parse parse,
    [javac]                                        ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:35: cannot find symbol
    [javac] symbol  : class HTMLMetaTags
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedParser

    [javac]     HTMLMetaTags metaTags, DocumentFragment doc) {
    [javac]     ^
    [javac]
c:\nutch-0.9\src\plugin\recommended\src\java\org\apache\nutch\parse\
recommended\RecommendedParser.java:34: cannot find symbol
    [javac] symbol  : class Parse
    [javac] location: class
org.apache.nutch.parse.recommended.RecommendedParser

    [javac]   public Parse filter(Content content, Parse parse,
    [javac]          ^
    [javac] 24 errors

BUILD FAILED
c:\nutch-0.9\src\plugin\build-plugin.xml:111: Compile failed; see the
compiler e
rror output for details.

Total time: 2 seconds
------------------------------------------------------------------------

It seems to me like my file placement is incorrect. All the other plugins
have only one .java file whereas I have 3. The problem is I'm not sure where
they're supposed to go.

As I said, I did not modify any of the code whatsoever. I want to get this
plugin running first, and then I'll proceed to code what I need (indexing
meta tags). If you can help me sort out these issues or point me to  a more
descriptive tutorial I'll be extremely happy. Any help would be very much
appreciated.

Regards
-- 
View this message in context: 
http://www.nabble.com/Question-about-writing-plug-ins-tp21444458p21444458.html
Sent from the Nutch - User mailing list archive at Nabble.com.

Reply via email to