Java 是否将应用程序引擎servlet-api-2.5升级到servlet-api-3.1?
最近宣布支持Servlet3.1,我不知道如何修改AppEngine标准环境,在非Maven版本中使用3.1而不是2.5 似乎没有办法升级到3.1Java 是否将应用程序引擎servlet-api-2.5升级到servlet-api-3.1?,java,google-app-engine,servlets,Java,Google App Engine,Servlets,最近宣布支持Servlet3.1,我不知道如何修改AppEngine标准环境,在非Maven版本中使用3.1而不是2.5 似乎没有办法升级到3.1 无论使用何种技术,只要产生一个包含javax.servlet api:3.1.0的有效war,这些步骤都应该有效 1) ,确保已将java8添加到appengine-web.xml文件中 2) 将war解压缩到它自己的单独目录中 3) 使用bin目录中的appcfg.sh脚本进行部署。它将看起来像: //appengine-java-sdk-1.9.
无论使用何种技术,只要产生一个包含javax.servlet api:3.1.0的有效war,这些步骤都应该有效 1) ,确保已将
java8
添加到appengine-web.xml文件中
2) 将war解压缩到它自己的单独目录中
3) 使用bin目录中的appcfg.sh脚本进行部署。它将看起来像:
//appengine-java-sdk-1.9.54/bin/appcfg.sh更新//爆炸战争///code>
注意:要从我使用的servlet中验证ServletContext的版本,请执行以下操作:
ServletContext sc = req.getSession().getServletContext();
resp.getWriter().println("Servlet version = " + sc.getMajorVersion() + "." + sc.getMinorVersion());
这里给出了一个完整的例子:
还附上了运行程序
对于Gradle用户:
对于非maven用户,您可以使用gradle。
在gradle构建文件中,第39行表示:
本地运行:
阿彭杰伦酒店
如果未安装gradle,则可以使用/gradlew appengineRun运行
要使用访问:
对于专业用户
在pom.xml中,行号62到70表示它正在使用servlet版本3.1.0:
javax.servlet
javax.servlet-api
3.1.0
罐子
假如
希望它能澄清你的问题。你能发布你的gradle构建文件吗?@MarCialR我已经为maven和非maven用户提到过,这样它可以帮助其他在maven上犯同样错误的人。这个答案特别有用,因为它解释了我也需要gradle。谢谢。在我的云端点项目中,直到在2.0.12版本中发布,这才对我起作用。
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
<!-- [START servlet] -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<!-- [END servlet] -->