如何修复"com.google.cloud.tools.appengine.AppEngineException: java.nio.file.NoSuchFileException: ...\



我正在努力部署到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打交道时,该故事的寓意,明确声明名称中的文件类型。

最新更新