Java WebServlet注释正在使用中,但GAE正在尝试查找web.xml
如果我使用WebServlet注释,那么我不需要web.xml。 我正在使用gradle尝试Google App Engine标准本地服务器,但它无法找到web.xml C:\Projects\x\x\Research\testing>gradle appengineRunJava WebServlet注释正在使用中,但GAE正在尝试查找web.xml,java,google-app-engine,servlets,google-cloud-platform,build.gradle,Java,Google App Engine,Servlets,Google Cloud Platform,Build.gradle,如果我使用WebServlet注释,那么我不需要web.xml。 我正在使用gradle尝试Google App Engine标准本地服务器,但它无法找到web.xml C:\Projects\x\x\Research\testing>gradle appengineRun2018年3月28日 下午1:17:18 java.util.prefs.WindowsPreferences警告: 无法在根目录下打开/创建prefs根节点Software\JavaSoft\prefs 0x8000002。
2018年3月28日 下午1:17:18 java.util.prefs.WindowsPreferences
警告: 无法在根目录下打开/创建prefs根节点Software\JavaSoft\prefs 0x8000002。Windows RegCreateKeyEx(…)返回错误代码5。
2018年12月28日下午1:17:18 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
严重:接收到异常处理 C:\Projects\x\x\Research\testing\build\exploded testing\WEB-INF\WEB.xml
com.google.apphosting.utils.config.appengineconfig异常:无法 定位 C:\Projects\x\x\Research\testing\build\exploded testing\WEB-INF\WEB.xml
我做错了什么 我得到了一个servlet的存根
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
我的build.gradle与中使用的非常接近:
解决了
我使用的appengine-web.xml与中的示例相同。
添加了运行时元素并删除了未使用的内容,它可以正常工作。这就是它现在的样子:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<runtime>java8</runtime>
<threadsafe>true</threadsafe>
</appengine-web-app>
爪哇8
真的
如果您将GAE标准与Java结合使用,则需要和,因为它们用于描述应用程序的配置方式
有关应用程序所需的配置设置的详细信息,请参阅文档。这不是答案,而是一个在其他人面临类似情况时节省时间的提示
我有一些servlet的web.xml条目和一些带WebServlet注释的servlet。在这种情况下,带注释的servlet不会在GAE Java标准环境中注册为处理程序。本地没有问题。我有appengine-web.xml,但它没有指定运行时版本。在我将java8添加为运行时之后,它现在就可以工作了。
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<runtime>java8</runtime>
<threadsafe>true</threadsafe>
</appengine-web-app>