maven构建缺少包链接

c3frrgcw  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(253)

我在使用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会自动包含所有使用过的导入。如何在服务器上运行?

fruv7luv

fruv7luv1#

您应该包括如下示例:

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-java-examples</artifactId>
    <version>0.9.0</version>
</dependency>
``` `flink-examples` 他是家长 `pom` 模块;不是一个 `jar` 模块。如何构建jar文件?使用 `maven-jar-plugin` ? 常客 `mvn package` 或者 `mvn install` 不打包依赖项。
使用 `maven-jar-plugin` 需要使用指定需要包含的内容 `<include>` . 请看这里:https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html
你的情况应该是这样的:
    <includes>
            <include>org/apache/flink/examples/java/ml/*.class</include>
            <include>org/apache/flink/examples/java/ml/util/*.class</include>
    </includes>
</configuration>

相关问题