[英]How to fix “com.google.cloud.tools.appengine.AppEngineException: java.nio.file.NoSuchFileException: …\exploded-{project}\WEB-INF\appengine-web.xml”
我正在努力部署到Google App Engine标准环境。 部署之前,我想在本地进行测试,因此我正在运行gradlew appengineRun
。
一切正常,直到出现此错误为止:“ com.google.cloud.tools.appengine.AppEngineException:java.nio.file.NoSuchFileException:C:\\ Users {user} \\ StudioProjects {project} \\ build \\ exploded- {project } \\ WEB-INF \\ appengine-web.xml”。
这很奇怪,因为我检查了项目中的文件结构,并且存在appengine-web.xml。
{project}
...
build
...
exploded-{project}
...
WEB-INF
...
appengine-web
当我可以看到文件确切应有的位置时,我不知道为什么文件“不存在”。
我的appengine-web.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>{ID}</application>
<use-google-connector-j>true</use-google-connector-j>
<version>1</version>
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" />
</system-properties>
<automatic-scaling>
<!-- scaling details -->
</automatic-scaling>
</appengine-web-app>
我确实有一个问题,当我在其上滚动时,名称空间为红色,并且我未获得URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
。
我试图通过获取资源来修复此解决方案,但是没有成功。 我不知道这可能是问题,但这是我唯一的体面猜测。
我需要识别appengine-web.xml文件才能进行进度。 如果有人知道发生了什么,或有任何想法向正确的方向指点,我们将不胜感激。
TLDR:
具有名称和您选择的类型的文件与格式为{file-name}。{type}的文件名之间是有区别的。 如果要识别该文件,请执行后者。
细节
事实证明,在gradle看来,拥有一个名为appengine-web的文件与将其声明为.xml文件与制作一个名为appengine-web.xml的文件之间存在巨大差异。
我添加了一个新文件,该文件以.xml作为其名称的一部分,并解决了我之前遇到的问题。
完成此操作后,我遇到了一个相同的问题,即用于记录属性的文件(请参阅问题中.xml文件中的system-properties字段)。
我创建了一个名为logging的文件,并将其设置为.properties文件,但找不到该文件。 然后,我制作了一个名为logging.properties的文件,并成功找到了该文件。
讲故事的目的,在处理Google App Engine时,在名称中明确声明文件类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.