NoSuchMethodError 异常来自 Java MapReduce pipeline POST /mapredu



你知道谷歌App Engine上的Java mapreduce管道中这个未捕获的异常的解决方法吗?

仅仅是GcsServiceFactory中的失败造成了这一行GCS_SERVICE吗?https://code.google.com/p/appengine-mapreduce/source/browse/trunk/java/src/com/google/appengine/tools/mapreduce/inputs/GoogleCloudStorageLineInputReader.java?r=462#80

关于如何解决的任何想法?

我们经常看到这种情况:

 2013-09-24 18:18:17.819 Uncaught exception from servlet
 java.lang.NoSuchMethodError:
 com.google.appengine.tools.cloudstorage.GcsService.openPrefetchingReadChannel(Lcom/google/appengine/tools/cloudstorage/GcsFilename;JI)Ljava/nio/channels/ReadableByteChannel;
    at com.google.appengine.tools.mapreduce.inputs.GoogleCloudStorageLineInputReader.beginSlice(GoogleCloudStorageLineInputReader.java:79)
    at com.google.appengine.tools.mapreduce.impl.WorkerShardTask.run(WorkerShardTask.java:84)
    at com.google.appengine.tools.mapreduce.impl.shardedjob.ShardedJobRunner.runTask(ShardedJobRunner.java:265)
    at com.google.appengine.tools.mapreduce.impl.shardedjob.ShardedJobServiceImpl.handleWorkerRequest(ShardedJobServiceImpl.java:49)
    at com.google.appengine.tools.mapreduce.impl.handlers.MapReduceServletImpl.doPost(MapReduceServletImpl.java:76)
    at com.google.appengine.tools.mapreduce.MapReduceServlet.doPost(MapReduceServlet.java:57)

我看到以下任何可能的原因:

  1. 您没有在类路径中包含所有 jar,它们可能有相互依赖的类。
  2. 你罐子是一个旧版本,不是有那个方法。
  3. 缺少一些依赖的jar,它不允许类构造函数初始化类对象。

最新更新