我在flink0.9中开发了一个使用graph模块(gelly)的作业。该作业在ide(eclipse)中成功运行,但是在使用maven(mvn clean install)将其导出到jar之后,它无法在本地flink示例上执行,错误如下
“由于链接失败,无法加载程序的入口点类‘myclass’。”
java.lang.NoClassDefFoundError: org/apache/flink/graph/GraphAlgorithm
你知道为什么会这样,怎么解决吗?
我在flink0.9中开发了一个使用graph模块(gelly)的作业。该作业在ide(eclipse)中成功运行,但是在使用maven(mvn clean install)将其导出到jar之后,它无法在本地flink示例上执行,错误如下
“由于链接失败,无法加载程序的入口点类‘myclass’。”
java.lang.NoClassDefFoundError: org/apache/flink/graph/GraphAlgorithm
你知道为什么会这样,怎么解决吗?
1条答案
按热度按时间jyztefdp1#
它看起来像是
flink-gelly
没有出现在jar文件中。这个问题最明显的原因是项目的pom文件中缺少maven依赖项。但是我假设依赖性是存在的,否则在ide中开发作业是不可能的。jar文件很可能是由
maven-jar-plugin
,不包括依赖项。尝试将以下片段添加到pom.xml
:现在,您可以使用
mvn clean package -Pbuild-jar
. jar文件现在将位于target/
目录。您可以手动检查jar(zip)文件中是否包含类文件
/org/apache/flink/graph/