Hi,
this is a known problem since many year and there are no plans to change this yet. The main reason for Java 11 support is not to introduce the module system, but instead use the new features of Java 11 and to get rid MR-JAR complications to make use of new intrinsics. Servers like Solr or Elasticsearch are shipped as an application, so the module system does not bring any benefit. Th general recommendation is to combine all required Lucene libraries into a separate JAR file during the maven / gradle build (e.g. using the Maven Shade plugin). Keep in mind that Lucene is also not suitable for use in other module systems like There is currently some preparatory things to move forward with modules, so although you might be able to actually compile Lucene with module system (by limiting to a subset of JAR files), it currently won’t work cross-module due to the way how it handles ServiceLoader interfaces (codecs, postings formats, analyzers, see <https://issues.apache.org/jira/browse/LUCENE-9281> https://issues.apache.org/jira/browse/LUCENE-9281). The only way to make it work at runtime is to put all of Lucene into one module. Uwe ----- Uwe Schindler Achterdiek 19, D-28357 Bremen https://www.thetaphi.de eMail: u...@thetaphi.de From: David Ryan <da...@livemedia.com.au> Sent: Tuesday, March 24, 2020 8:05 AM To: dev@lucene.apache.org Subject: Lucene 9.0 Java module system support Hi all, I've been investigating the use of Lucene as part of an application that uses the Java Module System. Initially, I used Gradle to bring in lucene-core, lucene-spatial and lucene-queries using version 8.5.0. This works with the automated module naming. However, bringing in lucene-queryparser (which depends on lucene-sandbox) or lucene-analyzers-common causes errors such as: "The package org.apache.lucene.analysis.standard is accessible from more than one module: lucene.analyzers.common, lucene.core" The Java module system does not handle different jar files using the same package name which occurs throughout multiple maven artifacts. Looking at the LUCENE issues, I found the task of moving to a minimum version of Java 11, however, this does not mention the ability to be compatible with the module system. I also checked the git repository and couldn't find the required changes to support the module system. https://issues.apache.org/jira/browse/LUCENE-8738 I looked through the dev list recent history but could not find anything related. Are there any plans to support modules? Given, I saw there are a number of other breaking changes happening with the move to Lucene 9.0, would it be good to make those changes? Thanks, David.