Hi Doğacan. Well, I feel like you are my personal correspondent these days :)
Basically I'm still trying to understand how I would set up my environment
(CLASSPATH) to write programs against the nutch API:
You suggested this command:
javac -cp `for i in \`find lib -name "*.jar"\`; do echo -n
$NUTCH_HOME/$i:; done`.:$NUTCH_HOME/build/nutch-1.0-dev.job
SearchApp.java
It complained as follows:
find: lib: No such file or directory
I think all I need to do is change
find lib -name
to
find $NUTCH_HOME/lib -name
as you see below.
I also removed $NUTCH_HOME from in front of $i. This is what I get
$ echo `for i in \`find $NUTCH_HOME/lib -name "*.jar"\`; do echo -n $i:;
done`.:$NUTCH_HOME/build/nutch-1.0-dev.job
/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-ext/ant.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-ext/commons-el.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-ext/jasper-compiler.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-ext/jasper-runtime.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-ext/jsp-api.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/pmd-ext/jakarta-oro-2.0.8.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/pmd-ext/jaxen-1.1-beta-7.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/pmd-ext/pmd-3.6.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-cli-2.0-SNAPSHOT.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-codec-1.3.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-httpclient-3.0.1.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-lang-2.1.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-logging-1.0.4.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/commons-logging-api-1.0.4.jar:/usr/local/nutch-2007-06-27_06-52
-44/lib/hadoop-0.12.3-core.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jakarta-oro-2.0.7.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jets3t-0.5.0.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/jetty-5.1.4.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/junit-3.8.1.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/log4j-1.2.13.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/lucene-core-2.2.0.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/lucene-misc-2.2.0.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/servlet-api.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/taglibs-i18n.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/xerces-2_6_2-apis.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/xerces-2_6_2.jar:/usr/local/nutch-2007-06-27_06-52-44/lib/SearchApp.jar:.:/usr/local/nutch-2007-06-27_06-52-44/build/nutch-1.0-dev.job
$ javac -cp `for i in \`find $NUTCH_HOME/lib -name "*.jar"\`; do echo -n $i:;
done`.:$NUTCH_HOME/build/nutch-1.0-dev.job SearchApp.java
SearchApp.java:2: package org.apache.nutch.util does not exist
import org.apache.nutch.util.NutchConfiguration;
^
SearchApp.java:5: package org.apache.nutch.searcher does not exist
import org.apache.nutch.searcher.Hit;
^
SearchApp.java:6: package org.apache.nutch.searcher does not exist
import org.apache.nutch.searcher.HitDetails;
^
SearchApp.java:7: package org.apache.nutch.searcher does not exist
import org.apache.nutch.searcher.Hits;
^
SearchApp.java:8: package org.apache.nutch.searcher does not exist
import org.apache.nutch.searcher.NutchBean;
^
SearchApp.java:9: package org.apache.nutch.searcher does not exist
import org.apache.nutch.searcher.Query;
^
SearchApp.java:23: cannot find symbol
symbol : variable NutchConfiguration
location: class SearchApp
Configuration conf = NutchConfiguration.create();
^
SearchApp.java:24: cannot find symbol
symbol : class NutchBean
location: class SearchApp
NutchBean bean = new NutchBean(conf);
^
SearchApp.java:24: cannot find symbol
symbol : class NutchBean
location: class SearchApp
NutchBean bean = new NutchBean(conf);
^
SearchApp.java:25: cannot find symbol
symbol : class Query
location: class SearchApp
Query query = Query.parse(args[0], conf);
^
SearchApp.java:25: cannot find symbol
symbol : variable Query
location: class SearchApp
Query query = Query.parse(args[0], conf);
^
SearchApp.java:26: cannot find symbol
symbol : class Hits
location: class SearchApp
Hits hits = bean.search(query, NUM_HITS);
^
SearchApp.java:34: cannot find symbol
symbol : class Hit
location: class SearchApp
Hit hit = hits.getHit(i);
^
SearchApp.java:35: cannot find symbol
symbol : class HitDetails
location: class SearchApp
HitDetails details = bean.getDetails(hit);
^
14 errors
----- Original Message ----
From: Doğacan Güney <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, August 8, 2007 1:02:00 AM
Subject: Re: SearchApp from "Introduction to Nutch, Part 2: Searching"
On 8/8/07, Kai_testing Middleton <[EMAIL PROTECTED]> wrote:
> Doğacan, you wrote:
> * Have you tried including nutch's job file only?
> * Despite its extension, it is actually a jar file
> * and it should include everything necessary
> * to launch applications.
>
> I'm still curious about this problem. I tried your suggestion of using the
> .job file:
> javac -cp $NUTCH_HOME/src/java:$NUTCH_HOME/nutch-2007-06-27_06-52-44.job
> SearchApp.java
>
> but I still get a hundred compile errors:
Yeah, I forgot that job file needs a MANIFEST to add jars (in
nutch.job) to classpath.
You may try somethink like this:
javac -cp `for i in \`find lib -name "*.jar"\`; do echo -n
$NUTCH_HOME/$i:; done`.:$NUTCH_HOME/build/nutch-1.0-dev.job
SearchApp.java
It should add every jar under lib + cwd + nutch.job to CLASSPATH.
____________________________________________________________________________________
Pinpoint customers who are looking for what you sell.
http://searchmarketing.yahoo.com/