В appengine есть два типа среды (на данный момент):
- Гибкая среда
- Стандартная среда
Вы не можете использоватьappengine-web.xml
и app.yaml
одновременно:
- Гибкая среда используйте
app.yaml
для настройки всех вещей, которые необходимо знать приложению - Стандартное окружение использование
appengine-web.xml
и logging.properties
Здесь я предполагаю, что вы хотите использовать appengine в режиме Flexible Environment .Обычно app.yaml
находится в папке appengine
, прямо внутри вашей папки main
.
Из Документа 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>
Надеюсь, это поможет!