将restful web服务与spring和gdata api集成时出错

时间:2014-09-10 16:34:35

标签: java spring rest gradle gdata

简短版本:当我包含依赖项时,一个宁静的Spring Web服务崩溃:com.google.gdata:core:1.47.1

长版:

我试图制作一个使用google驱动器中的电子表格消耗某些信息的restfull网络服务

这是我的一系列步骤:

准备进行连接的类和从驱动器获得的数据(不包括web,仅包括后端类,单元和集成测试):一切正常

用spring准备一个restfull web服务,基本上下载一个spring教程(http://spring.io/guides/tutorials/rest/3/)并执行:all ok

然后删除教程的业务类并包含我的组件,更改控制器以调用我的组件,再加上文件graddle.build中的gdata依赖,尝试执行:houston我们有问题

奇怪的是,当启动应用程序上下文时,日志打印如下:

C:\Users\Grubhart\Documents\proyectos\error_Rest_Gdata\complete\src\main\java\com\yummynoodlebar\config\WebAppInitializer.java:39: error: can not find symbol 
     servletContext.setInitParameter ("defaultHtmlEscape", "true"); 
                   ^ 
     symbol: method setInitParameter (String, String) 
     location: Variable of type ServletContext ServletContext 

但是当刚刚下载其他应用程序时(我的代码,但没有gdata依赖),它的工作原理,我唯一做的就是添加我的代码和google api依赖,所以我开始看看可能导致错误的原因

删除我的所有代码(但保留gdata jar)并等待...同样的错误,

删除gdata依赖:它可以正常工作

然后再次添加gdata依赖项并再次测试:相同的错误

所以我认为通过包含gdata jar会阻止启动整个app上下文

我在github上创建了一个repo来说明错误:

https://github.com/Grubhart/error_spring_restWS_gdata

master分支具有无gdata依赖性的服务代码

gdata_error分支,你可以想象在gradle.build文件中添加了gdata依赖(只有依赖,没有额外的代码):

编译'com.google.gdata:core:1.47.1'

并显示错误

不需要安装任何东西(甚至是gradle)只有jdk,下载代码并按照自述文件中的说明运行它以查看错误

我做我的作业,看看谷歌,stackoverflow(伟大的网站!),春季论坛,但找不到任何东西

如果有人有这个问题的经验,或者知道在哪里我可以找到更多信息,如果你可以分享经验或者你知道在哪里寻找有关此错误的更多信息

2 个答案:

答案 0 :(得分:1)

原始帖子不包含:

yummynoodlebar\config\WebAppInitializer.java:39: error: cannot find symbol
    servletContext.setInitParameter("defaultHtmlEscape", "true");

ServletContext需要导入javax.servlet.*;也许是错误。

答案 1 :(得分:1)

由于Web应用程序的java类中的spring上下文配置与Servlet 3.0一起使用,您可能会在gdata附带的某些依赖项之间覆盖问题,这些依赖项可能会使用除用于部署应用程序的servlet版本之外的依赖项或哪些依赖项它最初配置,我希望这可以帮助你!。