The server module has a dependency on lucene spatial3d library but it is never used. The only dependency on that library happens in the spatial module which is accessed via the server module at the moment. There might be a better way to handle this dependency so opening this issue to track it.
server/src/main/java/module-info.java
requires org.elasticsearch.securesm;
    requires org.elasticsearch.xcontent;
    requires com.sun.jna;
    requires hppc;
    requires HdrHistogram;
    requires jopt.simple;
    requires log4j2.ecs.layout;
    requires org.lz4.java;
    requires t.digest;
    requires org.apache.logging.log4j;
    requires org.apache.logging.log4j.core;
    requires org.apache.lucene.analysis.common;
    requires org.apache.lucene.backward_codecs;
    requires org.apache.lucene.core;
    requires org.apache.lucene.grouping;
    requires org.apache.lucene.highlighter;
    requires org.apache.lucene.join;
    requires org.apache.lucene.memory;
    requires org.apache.lucene.misc;
    requires org.apache.lucene.queries;
    requires org.apache.lucene.queryparser;
    requires org.apache.lucene.sandbox;
    requires org.apache.lucene.spatial3d;
    requires org.apache.lucene.suggest;
    exports org.elasticsearch;
    exports org.elasticsearch.action;
    exports org.elasticsearch.action.admin.cluster.allocation;
    exports org.elasticsearch.action.admin.cluster.configuration;
    exports org.elasticsearch.action.admin.cluster.health;
    exports org.elasticsearch.action.admin.cluster.migration;