![](/img/trans.png)
[英]Google AppEngine conflict using Maven to compile with app.yaml in Codenvy
[英]Using app.yaml in Google AppEngine
我正在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
訪問/遺忘問題。 原因:
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.xml
和app.yaml
:
app.yaml
來配置appengine需要了解的所有內容 appengine-web.xml
和logging.properties
在這里,我假設您想在“ 靈活環境 ”模式下使用appengine。 通常, app.yaml
位於main
目錄內的appengine
文件夾中。
通過Google Cloud Platform文檔 ,您應該具有:
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>
希望這可以幫助 !
無需使用myprojectname.CronUpdater,而是需要列出Servlet的完整包和類。 因此,如果CronUpdater位於軟件包中
com.mycompany.servlets
你需要把
servlet: com.mycompany.servlets.CronUpdater
在您的app.yaml中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.