我正在努力部署到Google App Engine Standard环境。在部署之前,我想在本地测试,所以我正在运行gradlew appengineRun
。
一切都在工作直到我达到此错误:" com.google.cloud.tools.appengine.appengine.appendineexception:java.nio.file.file.nosuchfileexception:c: user {user} user} studioprojects {project} - {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打交道时,该故事的寓意,明确声明名称中的文件类型。