小编And*_*itt的帖子

如何解决名称不符合 java 9 模块系统的 Maven 依赖项?

我正在尝试使用 maven 在 java 9 中构建一个使用依赖项的演示项目:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.10</artifactId>
    <version>2.2.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行 jar 工具来确定要在项目的 module-info.java 中使用的自动模块名称时,出现以下错误:

$ jar --file=spark-mllib_2.10/2.2.0/spark-mllib_2.10-2.2.0.jar --describe-module
Unable to derive module descriptor for: spark-mllib_2.10/2.2.0/spark-mllib_2.10-2.2.0.jar
spark.mllib.2.10: Invalid module name: '2' is not a Java identifier
Run Code Online (Sandbox Code Playgroud)

看来自动模块算法无法为该 jar 提供有效的 java 名称。如果没有添加正确的需求,我会收到 Spark mllib 中缺少软件包的编译错误,例如:

package org.apache.spark.mllib.linalg does not exist
Run Code Online (Sandbox Code Playgroud)

在添加官方保留模块名称或其自己的模块信息之前,我是否可以在项目中使用此依赖项?

java maven java-9 apache-spark-mllib java-module

5
推荐指数
1
解决办法
1238
查看次数

标签 统计

apache-spark-mllib ×1

java ×1

java-9 ×1

java-module ×1

maven ×1