gpt4 book ai didi

java - 在 Google AppEngine 中使用 app.yaml

转载 作者:行者123 更新时间:2023-11-30 05:58:31 26 4
gpt4 key购买 nike

我正在 AppEngine 上运行 Java 应用程序,并且我想使用 app.yaml。我已阅读文档并在 WEB-INF 文件夹中创建了一个 app.yaml 应用程序,其中包含以下内容

application: myprojectname
version: 1
runtime: java
api_version: 1

welcome_files:
- index.jsp
- index.html

handlers:
- url: /oblivion/*
servlet: myprojectname.CronUpdater

其中 myprojectname 是项目的名称。

但是,当我访问 localhost:8888/oblivion 或 localhost:8888/oblivion/时,我得到一个

HTTP 错误 404

访问/oblivion 时出现问题。原因:

NOT_FOUND

可能是什么原因?

这是目录的结构(截断)

pratik@pratik-desktop:~/workspace/myprojectname/war$ ls -LR
index.html index.jsp WEB-INF

./WEB-INF:
appengine-generated app.yaml cron.yaml logging.properties
appengine-web.xml classes lib web.xml

...

最佳答案

在 appengine 中,有两种环境类型(截至目前):

  • 灵活的环境
  • 标准环境

您不能同时使用 appengine-web.xmlapp.yaml:

  • 灵活的环境使用 app.yaml 配置 appengine 需要了解的所有内容
  • 标准环境使用 appengine-web.xmllogging.properties

这里我假设您想在“灵活环境”模式下使用应用程序引擎。通常,app.yaml 位于 appengine 文件夹中,就在 main 文件夹内。

来自Google Cloud Platform doc ,你应该有:

myprojectname/
[pom.xml] (optional, only if you use maven)
[build.gradle] (optional, only if you use gradle)
[index.yaml] (optional, only if you use cloud datastore)
[cron.yaml] (optional, only if you use cron job)
[dispatch.yaml] (optional, only if you route to services)
src/main/
appengine/
app.yaml
java/
com.example.mycode/
MyCode.java
webapp/
[index.html]
[index.jsp]
WEB-INF/
[web.xml]

最后一件事:处理程序应该在 web.xml 文件中定义。在 app.yaml 中,您应该只包含:

handlers:
- url: /.*
script: this field is required, but ignored

并在您的web.xml中添加如下内容:

<servlet>
<servlet>
<servlet-name>CronUpdater</servlet-name>
<servlet-path>myprojectname.CronUpdater</servlet-path>
</servlet>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CronUpdater</servlet-name>
<url-pattern>/oblivion/*</url-pattern>
</servlet-mapping>

希望这有帮助!

关于java - 在 Google AppEngine 中使用 app.yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com