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.