简短版本:当我包含依赖项时,一个宁静的Spring Web服务崩溃:com.google.gdata:核心:1.47.1
长版:
我正在尝试制作一个Restfull Web服务,该服务使用Google驱动器中电子表格中的某些信息
这是我的步骤顺序:
准备进行连接的类以及从驱动器获取的数据(不是Web,仅包括后端类,单元测试和集成测试):一切正常
使用spring准备一个restfull Web服务,基本上下载一个spring教程( http://spring.io/guides/tutorials/rest/3/ )并执行:一切正常
然后删除教程的业务类,包括我的组件,更改控制器以调用我的组件,以及在文件graddle.build中添加gdata依赖项,尝试执行:休斯顿,我们遇到了问题
奇怪的是,当启动应用程序上下文时,日志打印如下:
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可以防止启动整个应用程序上下文
我在github上创建了一个仓库来说明该错误:
https://github.com/Grubhart/error_spring_restWS_gdata
master分支具有无需gdata依赖即可工作的服务代码
您可以想象gdata_error分支在gradle.build文件中添加了gdata依赖项(仅依赖项,没有多余的代码):
编译'com.google.gdata:核心:1.47.1'
并提出错误
无需安装任何东西(甚至gradle),只有jdk,下载代码并按照自述文件中的说明运行,以查看错误
我做我的作业,在google中查看,stackoverflow(很棒的网站!),春季论坛,但什么也没找到
如果有人有这个问题的经验,或者知道我在哪里可以找到更多的信息,如果您可以分享经验,或者您知道在哪里寻找有关此错误的更多信息,那将是很好的
原始帖子不包含:
yummynoodlebar\config\WebAppInitializer.java:39: error: cannot find symbol
servletContext.setInitParameter("defaultHtmlEscape", "true");
ServletContext
需要导入javax.servlet.*;
也许是因为这个错误。
由于Web应用程序的Java类中的spring上下文配置可与Servlet 3.0配合使用,因此您可能会覆盖gdata附带的某些依赖关系之间的麻烦,这些依赖关系可能确实使用了依赖关系,而不是您用于部署应用程序的servlet版本或最初使用的servlet版本配置,希望对您有帮助!。