Neo4j 1.4 / Lucene 3.1 / OSGi =>
java.lang.IllegalArgumentException: No index provider 'lucene' found
I'm running in Felix. All Dependencies are resolved (so version 0.0.0 should
not be the problem here).
1|Active | 5|wrap_mvn_org.apache.lucene_lucene-core_3.1.0 (0.0.0)
13|Active | 5|Neo4j - Graph Database Kernel (1.4.0)
14|Active | 5|Neo4j - Lucene Index (1.4.0)
I understood Neo4j expects Lucene 3.1. So I wrapped Lucene via pax runner.
The latest servicemix Lucene bundle available is 3.0.3 and brings up the same
Exception.
With the old Index API in Neo4j 1.1 and 1.2 (IndexService) the problem never
occured when running in OSGi.
But always with the new service-provider based Index API of Neo4j 1.3 and 1.4
when running in OSGi.
Two month ago Marco Gerber started the Thread "No index provider 'lucene' found
- osgi" (this time still for Neo4j 1.3) and found out:
On May 24, 2011, at 8:53, Marco Gerber wrote:
> I solved the problem after having a look on the neo4j source code. The code
> uses java services to load any extensions on runtime. One of them is defined
> in META-INF/services/org.neo4j.graphdb.index.IndexProvider which is
> 'org.neo4j.index.impl.lucene.LuceneIndexProvider' (in my opinion the default
> index provider). However, the package containing this class isn't getting
> exported with the bundle. So, the class isn't visibible at runtime and no
> lucene index provider is getting loaded.
His solution (tweaking the MANIFEST of the neo4j-lucene-index jar) is no
durable solution and Peter Neubauer's approach (moving the LuceneIndexProvider
into the public space, where it is now in Neo4j 1.4) looks like a good one but
apparently did not solve the problem.
I would really love to use Neo4j 1.4 with Lucene indexing while running in OSGi.
Cheers,
Jörg
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user