Spark 2.3.1带有模块名称spark.core.2.11,被module-info.java拒绝

问题描述 投票:1回答:1

我将应用程序的大部分子项目转换为Java 9+附带的新的Java模块系统。

最终,当我来到使用Apache Spark的那个时,我陷入了陷阱。 Spark模块似乎仅具有“ spark.core.2.11”之类的名称,这些名称内部有数字,但编译器拒绝了它。

module fr.pays.spark {
   requires fr.pays.geographie;
   requires fr.pays.territoire;
   requires fr.pays.fondation.objetmetier;

   requires spring.beans;
   requires spring.boot;
   requires spring.web;

   requires spark.core.2.11; // rejected for the numbers inside
}

我发现此链接是对Stackoverflow的响应:Unable to derive module descriptor for auto generated module names in Java 9?。我很感激,因为这可能是一个解决方案(我必须了解并且还没有尝试过。)

但是,在我看来,它确实很笨拙。我不是在误导自己吗?自Java 9发行以来已经过去了一年,我认为Spark必须更改为现在才能完全兼容Java 9 +。

今天引用Spark模块的正确方法是什么(我使用的是我发现的最新版本的2.3.1版本?

如果没有比链接所建议的更好的选项,您是否知道有关Apache Spark何时计划与Java 9+模块系统完全集成的信息?

非常感谢!

java apache-spark java-module
1个回答
0
投票

module-info.class文件中似乎没有任何spark-core_2.11-2.2.0.jar文件。删除数字,然后尝试

requires spark.core;

© www.soinside.com 2019 - 2024. All rights reserved.