Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >运行Apache作业时链接失败

运行Apache作业时链接失败
EN

Stack Overflow用户
提问于 2015-05-07 05:28:35
回答 1查看 1.6K关注 0票数 5

我有一个在Flink 0.9中开发的作业,它使用图形模块(Gelly)。该作业在IDE (Eclipse)中成功运行,但在使用maven (mvn干净安装)将其导出到JAR后,它未能在本地flink实例上执行,并出现以下错误

“由于链接失败,程序的入口点类'myclass‘无法加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.NoClassDefFoundError: org/apache/flink/graph/GraphAlgorithm

你知道为什么会发生这种事吗?如何解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-13 05:03:03

看起来,flink-gelly的代码并没有在jar文件中结束。造成此问题的最明显原因是项目的pom文件中缺少maven依赖项。但我假设存在依赖关系,否则在IDE中开发作业是不可能的。

最有可能的是,jar文件是由maven-jar-plugin创建的,它不包括依赖项。尝试将以下片段添加到pom.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <build>
    <plugins>
        <!-- We use the maven-shade plugin to create a fat jar that contains all dependencies
        except flink and it's transitive dependencies. The resulting fat-jar can be executed
        on a cluster. Change the value of Program-Class if your program entry point changes. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <!-- Run shade goal on package phase -->
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <filters>
                            <filter>
                                <artifact>org.apache.flink:*</artifact>
                                <excludes>
                                    <exclude>org/apache/flink/shaded/**</exclude>
                                    <exclude>web-docs/**</exclude>
                                </excludes>
                            </filter>
                        </filters>
                        <transformers>
                            <!-- add Main-Class to manifest file -->
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>YOURMAINCLASS</mainClass>
                            </transformer>
                        </transformers>
                        <createDependencyReducedPom>false</createDependencyReducedPom>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

</build>
<profiles>
    <profile>
        <!-- A profile that does everyting correctly:
        We set the Flink dependencies to provided -->
        <id>build-jar</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <dependencies>
            <dependency>
                <groupId>org.apache.flink</groupId>
                <artifactId>flink-java</artifactId>
                <version>0.9-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.flink</groupId>
                <artifactId>flink-streaming-core</artifactId>
                <version>0.9-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.flink</groupId>
                <artifactId>flink-clients</artifactId>
                <version>0.9-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </profile>
</profiles>

现在,您可以使用mvn clean package -Pbuild-jar构建jar。jar文件现在将位于target/目录中。

您可以手动检查jar (zip)文件是否包含/org/apache/flink/graph/中的类文件

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30102523

复制
相关文章
Windows系统安全|Windows中获取用户密码
Windows系统使用两种方法对用户的密码进行哈希处理,它们分别是 LAN Manager(LM)哈希和 NT LAN Manager(NTLM)哈希。所谓哈希(hash),就是使用一种加密函数对其进行加密。这个加密函数对一个任意长度的字符串数据进行一次数学加密函数运算,然后返回一个固定长度的字符串。
谢公子
2022/01/19
2.9K0
Windows系统安全|Windows中获取用户密码
如何在小程序中获取用户信息
在以前的文章中,我们介绍了小程序的登录鉴权功能,方便开发者去获取用户的appid和session_key以便确认用户的身份。但是,仅仅通过appid和session_key不能去获取用户的信息。那么,这篇文章中,我们将介绍如何在小程序中获取用户的昵称、头像、性别、城市等信息。
it大叔
2019/01/25
6.7K0
如何在小程序中获取用户信息
PHP 获取用户行为参考代码 [IP/OS/URL/Broswer]
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/80015381
泥豆芽儿 MT
2018/09/11
7670
PHP 获取用户行为参考代码 [IP/OS/URL/Broswer]
如何在 Linux 中查找文件所有者?
在 Linux 系统中,每个文件和目录都有一个所有者(owner)和一个所属组(group)。所有者通常是创建该文件或目录的用户,而所属组通常是文件或目录所属的组。在某些情况下,您可能需要查找特定文件或目录的所有者。以下是在 Linux 中查找文件所有者的几种方法:
网络技术联盟站
2023/04/24
4.3K0
如何在 Linux 中查找文件所有者?
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
如何在Selenium自动化Chrome浏览器中模拟用户行为和交互?
Selenium是一个用于自动化Web应用程序测试的工具,它可以模拟真实的用户在浏览器中进行各种操作,如点击、输入、滚动等。Selenium支持多种浏览器,如Chrome、Firefox、Edge等,但是每种浏览器都需要相应的驱动程序才能与Selenium进行通信。本文将介绍如何在Selenium中使用Chrome浏览器,并且设置代理服务器来避免被目标网站识别。
jackcode
2023/07/26
8900
CSDN用户行为分析和用户行为数据爬取
爬虫随机从CSDN博客取得800条用户行为数据,包含用户名、原创博客数、评论数、浏览量,试着从博客数,评论数,浏览量三个方面分析csdn的博主们的形象。
逝兮诚
2019/10/30
1.6K0
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
3.8K0
如何在Windows中运行bash
浅谈用户行为分析
关于用户行为分析,很多互联网公司都有相关的需求,虽然业务不同,但是关于用户行为分析的方法和技术实现都是基本相同的。在此分享一下自己的一些心得。
数据社
2020/05/25
4.1K1
用户行为分析(Python)
电商、互联网、金融这三驾马车是对数据分析应用最为广泛的行业,同时也占据了就业市场上绝大多数的数据分析岗位,只因日常业务产生的海量数据蕴含着无尽的价值。 本次就通过电商角度,选取阿里天池项目中的淘宝App用户行为数据利用Python进行数据分析。
用户8949263
2022/04/08
4.7K0
用户行为分析(Python)
Flink在用户行为分析中的应用(一)
传统的企业营销大体是营销人员通过查询画像标签库去圈选人群,这种方案往往无法抓住那些"转瞬即逝的机会"
隐约喜欢萌萌哒
2022/09/03
1.2K0
Pulumi 如何在 Windows 环境中设置
没有安装文件, Pulumi 没有安装文件,所以你不能按照下载后安装的方式来进行配置。
HoneyMoose
2021/05/21
2K0
Pulumi 如何在 Windows 环境中设置
如何在Linux中搭建Windows环境
众所周知,搭建网站最好用是Linux系统,但是有一些Windows软件没法运行在Linux服务器上,就很痛苦
雾海梦曦
2022/11/14
1.5K0
如何在Linux中搭建Windows环境
多维用户行为模型
多维用户行为模型核心思想是在数据仓库的DWD和DWS层回答 "用户(User) 在什么时间(When),什么地点(Where), 通过何种方式(How), 对谁(Who,可能是feed,也可能是user), 做了什么(What或者Event)",一般是基于ODS层的用户维度表,用户行为日志明细表数据,在DWD加工而成,然后直接服务上层应用(建视图的方式)或者根据需求配合产品维度表在DWS汇总面向业务应用。常见的是用户行为分析的漏斗转化,桑吉图显示, 用户统计标签加工等。
平常心
2020/10/24
1.5K0
如何使用“行为模型”做用户行为养成
用户可能会习惯性的使用一款产品,或者在使用一款产品时会产生习惯性的行为。造成这种情况的原因可以有很多,比如不断的刷朋友圈生怕错过什么信息、比如刷抖音熬夜停不下来、比如每天都要开黑一局…
晓吾
2022/01/21
1.8K0
如何使用“行为模型”做用户行为养成
Flink用户画像用户画像行为特征
我们要使用的几个组件为Hadoop 2.6,HBase 1.0.0,MySQL 8,zookeeper 3.4.5,kafka 2.1.0,Flink 1.13,Canal 1.1.5。为了方便,这里都使用伪集群和单机安装。
算法之名
2021/11/10
8.8K0
如何在gin中获取响应体内容?
实现思路: 对gin的responseWriter进行包装, 每次写往请求方写响应数据的时候,将响应数据返回出去。step1: 定义一个新的CustomResponseWriter,通过组合方式持有一个gin.ResponseWriter和response body缓存。type CustomResponseWriter struct { gin.ResponseWriter body *bytes.Buffer}func (w CustomResponseWriter) Write(b []byt
Johns
2021/04/10
11.6K0
如何在gin中获取响应体内容?
如何在Bash中获取数组长度?
在Bash脚本中,数组是一种常用的数据结构,用于存储多个值。在处理数组时,经常需要知道数组的长度,即数组中元素的个数。本文将详细介绍如何在Bash中获取数组长度的方法,以帮助您更好地处理数组操作。
网络技术联盟站
2023/06/17
1.3K0
如何在Bash中获取数组长度?
点击加载更多

相似问题

如何在windows中获取所有者的用户in?

20

如何在windows中获取当前用户?

20

如何在Windows SAS中获取sas文件的所有者信息?

11

Windows中的C#获取文件所有者

11

如何在Windows7上获取gethostid行为?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文