我在使用 Maven 时遇到问题。我有一个 Apache Flink 项目,想在我的服务器上运行它。在本地它运行良好,但在服务器上它因错误而中止:
java.lang.NoClassDefFoundError: org/apache/flink/examples/java/ml/util/LinearRegressionData
在我的 Java 项目中,我使用
import org.apache.flink.examples.java.ml.util.LinearRegressionData;
我在导入时使用了正确的类:
在构建之后,我查看了 Jar 文件。包括以下课程:
/util/ 文件夹完全丢失。我在 pom 文件中的依赖部分如下所示:
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-core</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime</artifactId>
<version>0.9.0</version>
</dependency>
</dependencies>
当我在位于https://github.com/apache/flink/tree/release-0.9的存储库中看到包组织时,我认为可以在 flink 中添加以下行:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-examples</artifactId>
<version>0.9.0</version>
</dependency>
但是这些依赖关系无法解决。由于 Maven 在执行全新安装时不会抛出错误,我认为这是一个依赖问题。我认为 Maven 会自动包含所有使用过的导入。我怎样才能让它在我的服务器上运行?