No, I gave up making Jackrabbit compatible with a newer Lucene version.
But then, I had to be able to work with a modern Lucene in the rest of my app.

I simply renamed all lucene packages in something like "org.apache.jackrabbit.org.apache.lucene", modified all related Jackrabbit classed and all worked like a charm. And then I could have an official Lucene 4+ for my application, not conflicting with Jackrabbit's bundled Lucene 3.6 Of course, this operation should be repeated each time you want to upgrade to a newer Jackrabbit version, and Jackrabbit itself continue to be compatible with Lucene 3.6 only.

I also tried to play with classloading isolation, so that I could have Lucene 3.6 next to Lucene 4+, the first only used by Jackrabbit and the more recent for other classes. It was fun to develop and actually worked, but we eventually migrate our code to use an external Solr server so don't need to upgrade Lucene anymore.

Cédric

Le 13/05/2020 à 07:34, KÖLL Claus a écrit :
Hi Cédric

As a workaround, I shadowed the Lucene's 3.6 lib by changing its package
name, so that it may get along with a more recent version.
And then after a while, I moved toward a Solr server, and then had not
the need of shadowing anymore, so I put back the original 3.6 lib.
Can you explain a little bit more your way. What do you mean with shadowed the 
Lucene's 3.6 lib ?
Do you have integrated Solr into jackrabbit-core ?

thanks many !

Claus

--
Cédric Damioli
CMS - Java - Open Source
www.ametys.org

Reply via email to