【问题标题】:NoSuchMethodError exception from Java MapReduce pipeline POST /mapreduce/workerCallback?Java MapReduce管道POST /mapreduce/workerCallback的NoSuchMethodError异常?
【发布时间】:2013-09-30 10:56:42
【问题描述】:

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

在这一行中创建 GCS_SERVICE 是否只是 GcsServiceFactory 中的故障? 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)

【问题讨论】:

    标签: java google-app-engine mapreduce google-cloud-storage nosuchmethod


    【解决方案1】:

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

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

    【讨论】:

    • 这是 2 和 3 的组合。我们有一个依赖 jar 引用了另一个已更改的依赖 jar。谢谢。
    猜你喜欢
    • 2019-02-01
    • 2012-03-09
    • 2014-02-24
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    相关资源
    最近更新 更多