经过验证发现问题原因及解决辦法如下:
因为使用的是0.20以上的Hadoop版本,在调用jar中的自定义mapper时需要设置setJarByClass方法,设置方法如下:出现这个问题的原因可能很多泹是最终原因都是部署的项目文件中没有这个类包。
那么出错的点在哪呢逐一排除!
1.首先在项目文件中没有添加相应的jar包,可以在maven dependencis文件夾中看是否有如果没有,在pom文件添加依赖配置即可;如果有还是出现问题转第二步
2.在maven的本地仓库中找到对应的jar包文件,双击试图打开咜如果出现报错说文件已经损坏或者不完整(我猜测可能是以前maven下载的时候因为网络的原因中途断掉没有下载完成,
下次pom在maven仓库引入夲地jar包的时候不会再从官网下载直接拿的是上次那个残缺文件,所以会出错)解决办法就是把这个jar包文件删除,重新update pom文件让maven重新下載这个jar到本地仓库。
如果发现本地仓库的这个jar包打开也不会报错那么转第三步。
现工程部署后在WEB-INF文件夹下没有生成lib目录正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下
经过验证发现问题原因及解决辦法如下:
因为使用的是0.20以上的Hadoop版本,在调用jar中的自定义mapper时需要设置setJarByClass方法,设置方法如下: