问题描述
工件cm-jobs
依赖工件kloud
。
kloud
依赖工件jackson-databind
。
maven-shaded-plugin
用于打包cm-jobs
。
在hadoop jar
上执行cm-jobs
时,我们看到以下错误。
Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String;
at com.flipkart.kloud.config.InstanceMetaData.getNode(InstanceMetaData.java:81)
at com.flipkart.kloud.config.InstanceMetaData.<init>(InstanceMetaData.java:46)
at com.flipkart.kloud.config.InstanceMetaData.<clinit>(InstanceMetaData.java:36)
at com.flipkart.kloud.config.EndpointProvider.<init>(EndpointProvider.java:44)
at com.flipkart.kloud.config.EndpointProvider.<clinit>(EndpointProvider.java:35)
at com.flipkart.kloud.config.ConfigClient.getEndpoint(ConfigClient.java:170)
at com.flipkart.kloud.config.ConfigClient.<init>(ConfigClient.java:102)
at com.flipkart.kloud.config.ConfigClient.<init>(ConfigClient.java:91)
at com.flipkart.ads.common.configuration.ConfigServiceClient.getAppDynamicBucketFromEnvSettings(ConfigServiceClient.java:246)
at com.flipkart.ads.common.configuration.ConfigServiceClient.getAppDynamicBucketFromEnvSettings(ConfigServiceClient.java:237)
at com.flipkart.ads.jobs.BaseTrigger.init(BaseTrigger.java:20)
at com.flipkart.ads.jobs.BaseTrigger.markJobStatus(BaseTrigger.java:32)
at com.flipkart.ads.jobs.reco.PLARecoRelevanceGenerator.run(PLARecoRelevanceGenerator.java:102)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at com.flipkart.ads.jobs.reco.PLARecoRelevanceGenerator.main(PLARecoRelevanceGenerator.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
根据依赖性树here,仅使用了一个版本的Jackson-bind。那么,冲突类com.fasterxml.jackson.databind.JsonNode
是从哪儿捡来的?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)