【问题标题】:Relative File Paths not getting detected when I deploy my app to Google Cloud platform将应用部署到 Google Cloud 平台时未检测到相对文件路径
【发布时间】:2020-05-12 10:55:37
【问题描述】:

本地一切正常,但是一旦我将我的应用程序部署到 App Engine。谷歌云没有获取相对文件路径

【问题讨论】:

    标签: java spring-boot google-cloud-platform filepath


    【解决方案1】:

    根据Where to put your static files

    您必须将静态提供的文件放在应用的 webapp 目录中。您可以使用文件夹,但请记住所有文件路径和 URI 都是相对于 webapp 目录的。

    为静态文件选择位置后,您必须使用元素在 appengine-web.xml 文件中定义它们的位置。

    一个如何配置的例子是:

    <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
      <threadsafe>true</threadsafe>
      <runtime>java8</runtime>
      <static-files>
        <include path="/**.html" >
        </include>
      </static-files>
    </appengine-web-app>
    

    此外,在文档中:[直接从您的应用提供文件] (https://cloud.google.com/appengine/docs/standard/java11/serving-static-files#serving_from_your_application),它提到:

    要在标准环境中为 Java 11 提供静态文件,您可以使用 static_dir 或 static_files 元素在 app.yaml 文件中定义处理程序。

    例如,以下行指示浏览器加载 main.css 文件:

    <link type="text/css" rel="stylesheet" href="/static/css/main.css">
    

    ./public 目录在项目的app.yaml 文件的static_dir 元素中定义:

    handlers:
      - url: /favicon\.ico
        static_files: favicon.ico
    
      - url: /static
        static_dir: public
    
      - url: /.*
        secure: always
        redirect_http_response_code: 301
        script: auto
    

    【讨论】:

    • 您的回答非常有帮助,我遵循了允许您在应用引擎上的 spring 应用程序中指定静态文件的文档,他们要求我将 entrypoint: java -noverify BOOT-INF/resources/:BOOT-INF/classes/:BOOT-INF/lib/* com.mycompany.myapp.YOUAPPCLASSNAME 添加到我的 app.yaml文件但是我似乎无法弄清楚com.mycompany.myapp.YOUAPPCLASSNAME代表什么,因为我确实将参考包复制到了我的主类,但它不起作用,并且应用程序因此无法部署。提前感谢您的帮助。
    • 很高兴阅读它有帮助;根据我的理解,com.mycompany.myapp.YOUAPPCLASSNAME 应该是您要服务的类的 classPath(包含所有应用程序类的 JAR 文件)。如果没有课程,我认为您可以忽略该部分。请让我知道这是否有效:)
    • 回答:采用不同的方法,只需使用此调用来提供静态文件:` InputStream serviceAccount = new ClassPathResource("firebase.json").getInputStream();
    猜你喜欢
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 2018-07-16
    • 2021-07-11
    • 2019-04-13
    • 1970-01-01
    相关资源
    最近更新 更多