You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Markus Jelsma <ma...@buyways.nl> on 2010/01/19 23:26:57 UTC
CouchDB-Lucene, getting it running
Hello,
I have some failed attempts in getting it all up and running. I have tried the following:
1. Using the couchdb-lucene-0.4-jar-with-dependencies.jar.gz file
Getting it running didn't do the job, the readme's on github mention a bin/run which i don't seem to find, the same goes for the external python program. Nevertheless, i did get it running by using the following CouchDB configuration:
[external] fti=/usr/bin/java -Dcouchdb.lucene.dir=/var/lib/couchdb-lucene -jar /usr/local/lib/couchdb/lucene/couchdb-lucene-0.4-jar-with-dependencies.jar -search [update_notification] indexer=/usr/bin/java -Dcouchdb.lucene.dir=/var/lib/couchdb-lucene -jar /usr/local/lib/couchdb/lucene/couchdb-lucene-0.4-jar-with-dependencies.jar -index [httpd_db_handlers] _fti = {couch_httpd_external, handle_external_req, <<"fti">>}
Of course the data directory was writable. It did, however, fail in the end but Java was taking CPU time for sure but it never wrote a single byte anywhere. Issuing a query returned a CoucDB-Lucene not available error, which comes from http://github.com/rnewson/couchdb-lucene/blob/b258c33c956126a130d2b90effc106668f54879e/src/main/java/com/github/rnewson/couchdb/lucene/Search.java
The second attempt was with Maven following the readme on the github (after i cleaned the previous mess), but different approaches and sources (either cloning with git or the 0.4 tgz) failed as well with Maven spitting out the following messages:
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 17 source files to /usr/local/lib/couchdb-lucene/rnewson-couchdb-lucene-e0d8130/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 14 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 5 source files to /usr/local/lib/couchdb-lucene/rnewson-couchdb-lucene-e0d8130/target/test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /usr/local/lib/couchdb-lucene/rnewson-couchdb-lucene-e0d8130/target/surefire-reports
org.apache.maven.surefire.booter.SurefireExecutionException: Unable to create test class 'org.apache.nutch.analysis.lang.LanguageIdentifierTest'; nested exception is java.lang.ClassNotFoundException: org.apache.nutch.analysis.lang.LanguageIdentifierTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooterc2s5jv.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}; nested exception is org.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class 'org.apache.nutch.analysis.lang.LanguageIdentifierTest'; nested exception is java.lang.ClassNotFoundException: org.apache.nutch.analysis.lang.LanguageIdentifierTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooterc2s5jv.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
org.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class 'org.apache.nutch.analysis.lang.LanguageIdentifierTest'; nested exception is java.lang.ClassNotFoundException: org.apache.nutch.analysis.lang.LanguageIdentifierTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooterc2s5jv.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
java.lang.ClassNotFoundException: org.apache.nutch.analysis.lang.LanguageIdentifierTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooterc2s5jv.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.10)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:87)
at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209)
at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
at java.lang.reflect.Method.invoke(libgcj.so.10)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Or:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO]
You must specify at least one goal or lifecycle phase to perform build steps.
The following list illustrates some commonly used build commands:
mvn clean
Deletes any build output (e.g. class files or JARs).
mvn test
Runs the unit tests for the project.
mvn install
Copies the project artifacts into your local repository.
mvn deploy
Copies the project artifacts into the remote repository.
mvn site
Creates project documentation (e.g. reports or Javadoc).
Please see
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
for a complete description of available lifecycle phases.
Or:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building CouchDB Lucene
[INFO] task-segment: [assembly:assembly] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing assembly:assembly
[INFO] ------------------------------------------------------------------------
[INFO] Building CouchDB Lucene
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /usr/local/lib/couchdb-lucene/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 29 source files to /usr/local/lib/couchdb-lucene/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 4 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 5 source files to /usr/local/lib/couchdb-lucene/target/test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /usr/local/lib/couchdb-lucene/target/surefire-reports
org.apache.maven.surefire.booter.SurefireExecutionException: Unable to create test class 'com.github.rnewson.couchdb.lucene.CustomQueryParserTest'; nested exception is java.lang.ClassNotFoundException: com.github.rnewson.couchdb.lucene.CustomQueryParserTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooter5e47ab.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}; nested exception is org.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class 'com.github.rnewson.couchdb.lucene.CustomQueryParserTest'; nested exception is java.lang.ClassNotFoundException: com.github.rnewson.couchdb.lucene.CustomQueryParserTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooter5e47ab.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
org.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class 'com.github.rnewson.couchdb.lucene.CustomQueryParserTest'; nested exception is java.lang.ClassNotFoundException: com.github.rnewson.couchdb.lucene.CustomQueryParserTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooter5e47ab.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
java.lang.ClassNotFoundException: com.github.rnewson.couchdb.lucene.CustomQueryParserTest not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/tmp/surefirebooter5e47ab.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.10)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:87)
at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209)
at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
at java.lang.reflect.Method.invoke(libgcj.so.10)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Maven told me to look for /usr/local/lib/couchdb-lucene/rnewson-couchdb-lucene-e0d8130/target/surefire-reports for the individual test results, but, how typical, that file doesn't exist! The classes and test-classes directories, however, where present.
This machine is running the latest Ubuntu and already has working CouchDB and Solr instances happily running. I therefore assumed installing Maven2 using apt-get install maven2 would do the job on a fresh cloned checkout:
1. Install Maven 2.
2. checkout repository
3. type 'mvn'
4. configure couchdb (see below)
Can someone please shed some light on this mystery so i and anyone else stumbling on this thread will know how to continue the installation?
Cheers,