2017-01-13 12 views
0

我正在構建jar,我在一個.war中使用了這個jar。當我運行該程序時,我收到以下異常。但是在那個jar文件中,那個特定的類就在那裏。在java運行庫中,類沒有發現異常

Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.itc.zeas.custominputformat.CustomTextInputFormat not found 
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195) 
    at org.apache.hadoop.mapreduce.task.JobContextImpl.getInputFormatClass(JobContextImpl.java:174) 
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:749) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at 

回答

0

快速搜索變成了this了。

您的類路徑已損壞(這是Java世界中非常常見的問題)。

根據您啓動應用程序的方式,您需要將參數修改爲-cp,MANIFEST.MF中的Class-Path條目或磁盤佈局。

也許您應該發佈更多信息?你使用哪些工具來開發程序,編譯時使用哪些參數等。

+0

在同一個jar包中,其他類文件也在同一個包中工作。但是找不到CustomTextInputFormat.class –

+0

您確定您正確引用了該類嗎?你可以檢查該類是否真正駐留在'com.itc.zeas.custominputformat.CustomTextInputFormat'中? – Titulum

+0

是的,這個類完全駐留在相同的路徑中。並即時使用完全合格的類名稱。 –