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