问题描述
- ClassNotFoundException: org.jsoup.Jsoup
-
hadoop 运行 jar ClassNotFoundException: org.jsoup.JsoupError: java.lang.ClassNotFoundException: org.jsoup.Jsoup
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at crawler.core.MinerLoader.parseMinersXML(MinerLoader.java:127)
at crawler.core.MinerLoader.init(MinerLoader.java:80)
at crawler.core.CrawlerContext.init(CrawlerContext.java:136)
at crawler.jobs.CrawlDataJob$CrawlerMapper.setup(CrawlDataJob.java:56)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
解决方案
将jar包复制到libs文件夹下,并添加引用
解决方案二:
在项目的根目录下创建lib目录,将第三方jar包放入其中,在通过eclipse导出jar包(Eclipse自带的导包)时,将这个lib目录一起打包,这样运行MapReduce任务时,hadoop能够加载到lib目录第三方的类;
亲测成功~~
解决方案三:
Eclipse ADT中找不到org.jsoup.Jsoup的解决方法
jsoup的基础理论(一)
出现Java.lang.NoClassDefFoundError:org.jsoup.Jsoup的解决办法
解决方案四:
ClassNotFoundException: org.jsoup.Jsoup
找不到org.jsoup.Jsoup类,缺少Jar包吧
解决方案五:
你试试把org.jsoup里面类打包到你的项目里面,然后在打包成jar呢。
解决方案六:
classnotfound:
1:翻译就是说类找不到
2:类找不到的原因
2.1: 不存在该jar包
2.2:存在但没引入(buildpath 里面把jar引入)
2.3:jar 引入了还找不到,是否是class.forname("Stringname"),StringName 写错了
classloader.findSystemforClass();classloader.loadclass().找不到
解决方案七:
org.jsoup.Jsoup这个包没找到
解决方案八:
很明显的错啊 没这个jar包
解决方案九:
请问LZ解决了么?也是遇到同样的问题,引入了Jar包,eclipse运行正常,打成Jar包在hadoop上运行就报错了~~~
解决方案十:
虽然运行成功,但是结果却不是预期的。我利用Jsoup获取网页的title。Eclipse中方法一样是成功的,hadoop运行结果就不行了,请教楼主