京东api接入的几个坑(宙斯) 转载

=====

京东api接入的几个坑(宙斯)

原创  2014年10月30日 17:43:51
  • 8719

写这篇文章为了发下牢骚,鄙视下京东api上的不足, 怀念下下午的2个小时。。。。。


http://jos.jd.com/  在宙斯平台上的api调用,下载官方的sdk(java)  open-api-sdk.2.0.jar

[java]  view plain  copy
  1.         String SERVER_URL = "http://gw.api.360buy.com/routerjson";  
  2.         String accessToken = "xxxxxxxxxxxxxxxxxxxx";  
  3.         String appKey = "F9060Cxxxxx37CFxxxxxxxxxxxxx";  
  4.         String appSecret = "748b2fbxxxxxca48xxxxxxxxxxxxx";  
  5.   
  6.         JdClient client = new DefaultJdClient(SERVER_URL,accessToken,appKey,appSecret);  
  7.           
  8.   
  9.         CategorySearchRequest request=new CategorySearchRequest();  
  10.     request.setFields( "id,fid,status,lev,name,index_id" );  
  11.     CategorySearchResponse response=client.execute(request);  

报错:

[java]  view plain  copy
  1. java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper  
  2.     at com.jd.open.api.sdk.internal.util.JsonUtil.<clinit>(JsonUtil.java:15)  
  3.     at com.jd.open.api.sdk.request.list.WareCatelogyAttributeListGetRequest.getAppJsonParams(WareCatelogyAttributeListGetRequest.java:61)  
  4.     at com.jd.open.api.sdk.DefaultJdClient.buildUrl(DefaultJdClient.java:107)  
  5.     at com.jd.open.api.sdk.DefaultJdClient.execute(DefaultJdClient.java:73)  
  6.     at com.yubao.jdsearch.jdapi.TestMain.testGetItemInfo(TestMain.java:31)  
  7.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  8.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
  9.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
  10.     at java.lang.reflect.Method.invoke(Method.java:606)  
  11.     at junit.framework.TestCase.runTest(TestCase.java:154)  
  12.     at junit.framework.TestCase.runBare(TestCase.java:127)  
  13.     at junit.framework.TestResult$1.protect(TestResult.java:106)  
  14.     at junit.framework.TestResult.runProtected(TestResult.java:124)  
  15.     at junit.framework.TestResult.run(TestResult.java:109)  
  16.     at junit.framework.TestCase.run(TestCase.java:118)  
  17.     at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)  
  18.     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)  
  19.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)  
  20.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)  
  21.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)  
  22.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)  
  23. Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.map.ObjectMapper  
  24.     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)  
  25.     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)  
  26.     at java.security.AccessController.doPrivileged(Native Method)  
  27.     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)  
  28.     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  
  29.     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  
  30.     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  
  31.     ... 21 more  


导入了一个jackson-all.2.0.jar 包又报错,

[java]  view plain  copy
  1. java.lang.NoSuchMethodError: org.codehaus.jackson.map.DeserializationConfig.set(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)V  
  2.     at com.jd.open.api.sdk.internal.parser.JsonParser.<init>(JsonParser.java:24)  
  3.     at com.jd.open.api.sdk.internal.parser.ParserFactory.<clinit>(ParserFactory.java:12)  
  4.     at com.jd.open.api.sdk.DefaultJdClient.parse(DefaultJdClient.java:128)  
  5.     at com.jd.open.api.sdk.DefaultJdClient.execute(DefaultJdClient.java:90)  
  6.     at com.yubao.jdsearch.jdapi.TestMain.testGetItemInfo(TestMain.java:31)  
  7.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  8.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
  9.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
  10.     at java.lang.reflect.Method.invoke(Method.java:606)  
  11.     at junit.framework.TestCase.runTest(TestCase.java:154)  
  12.     at junit.framework.TestCase.runBare(TestCase.java:127)  
  13.     at junit.framework.TestResult$1.protect(TestResult.java:106)  
  14.     at junit.framework.TestResult.runProtected(TestResult.java:124)  
  15.     at junit.framework.TestResult.run(TestResult.java:109)  
  16.     at junit.framework.TestCase.run(TestCase.java:118)  
  17.     at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)  
  18.     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)  
  19.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)  
  20.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)  
  21.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)  
  22.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)  



后来通过maven库上找了依赖包,居然官方都没有说明有第三方包需要导入,fk,, 纯粹是自己尝试着摸索的,哎。。。。。

[html]  view plain  copy
  1. <dependency>  
  2.         <groupId>org.codehaus.jackson</groupId>  
  3.         <artifactId>jackson-core-asl</artifactId>  
  4.         <version>1.8.11</version>  
  5.     </dependency>  
  6.   
  7.      <dependency>  
  8.         <groupId>org.codehaus.jackson</groupId>  
  9.         <artifactId>jackson-mapper-asl</artifactId>  
  10.         <version>1.8.11</version>  
  11.     </dependency>  

终于成功了。。。 yes,想说句,京东api开放的也太 niubility了。。。。



=====

jackson-core-asl-1.9.8.jar下载

https://pan.baidu.com/s/1zlbBqCeuLOX4tBrt0qeACg

jackson-mapper-asl-1.9.8.jar下载

https://pan.baidu.com/s/1nzbDmxTcao3gewGBOmq1tg

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值