简短版本:当我包含依赖项时,一个宁静的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(伟大的网站!),春季论坛,但找不到任何东西
如果有人有这个问题的经验,或者知道在哪里我可以找到更多信息,如果你可以分享经验或者你知道在哪里寻找有关此错误的更多信息
答案 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版本之外的依赖项或哪些依赖项它最初配置,我希望这可以帮助你!。