迁移到适用于 App Engine 的 Cloud Endpoints Frameworks 2.0 [英] Migrating to Cloud Endpoints Frameworks 2.0 for App Engine
问题描述
我目前正在尝试从 Cloud Endpoints 1.0
迁移到 Cloud Endpoints Frameworks 2.0
.
我已按照此处列出的步骤操作:https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0
在我的 build.gradle
中,我已经替换了:
编译'com.google.appengine:appengine-endpoints:1.9.42'编译'com.google.appengine:appengine-endpoints-deps:1.9.42'
与:
编译'com.google.endpoints:endpoints-framework:2.0.0-beta.5'编译'javax.inject:javax.inject:1'
在 web.xml
中,我用 EndpointsServlet
和 /_ah/spi/*
替换了 SystemServiceServlet
与 /_ah/api/*
.
但是在编译时,我收到以下错误:
<块引用>错误:任务:myapp_backend:appengineEndpointsGetClientLibs"的执行失败.>运行端点命令 get-client-lib 时出错:web.xml must have 1 (found:0) SystemServiceServlet servlet
我错过了什么吗?
按照@saiyr 的要求进行编辑,这是我的 build.gradle
文件:
buildscript {存储库{jcenter()}依赖{类路径 'com.google.appengine:gradle-appengine-plugin:1.9.42'}}存储库{jcenter();}应用插件:'java'应用插件:'战争'应用插件:'appengine'sourceCompatibility = JavaVersion.VERSION_1_7targetCompatibility = JavaVersion.VERSION_1_7依赖{//应用引擎appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.42'编译'javax.servlet:servlet-api:2.5'//云端点编译'com.google.appengine:appengine-endpoints:1.9.42'编译'com.google.appengine:appengine-endpoints-deps:1.9.42'//云端点框架//编译 'com.google.endpoints:endpoints-framework:2.0.0-beta.7'//编译'javax.inject:javax.inject:1'//项目编译文件('src/main/webapp/WEB-INF/lib/gson-2.3.1.jar')编译'com.googlecode.objectify:objectify:5.1.9'编译'com.ganyo:gcm-server:1.0.2'编译com.google.appengine.tools:appengine-gcs-client:0.5"}应用引擎{下载 SDK = 真应用配置{oauth2 = 真}端点{getClientLibsOnBuild = 真getDiscoveryDocsOnBuild = true}}
<小时>
更新:
现在有一份详细介绍过渡过程的指南: https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin/blob/master/ANDROID_README.md
这里:https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/migrating-android
新插件现已可用,过渡指南:https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin/blob/master/ANDROID_README.md
(或 https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/migrating-android)
不要忘记也遵循迁移指南:https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0
I'm currently trying to migrate from Cloud Endpoints 1.0
to Cloud Endpoints Frameworks 2.0
.
I've followed the steps outlined here: https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0
In my build.gradle
I've replaced:
compile 'com.google.appengine:appengine-endpoints:1.9.42'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.42'
with:
compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.5'
compile 'javax.inject:javax.inject:1'
And in web.xml
I've replaced SystemServiceServlet
with EndpointsServlet
and /_ah/spi/*
with /_ah/api/*
.
However on compile, I get the following error:
Error:Execution failed for task ':myapp_backend:appengineEndpointsGetClientLibs'. > There was an error running endpoints command get-client-lib: web.xml must have 1 (found:0) SystemServiceServlet servlet
Am I missing something?
Edit, as requested by @saiyr, here's my build.gradle
file:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.42'
}
}
repositories {
jcenter();
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
dependencies {
// AppEngine
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.42'
compile 'javax.servlet:servlet-api:2.5'
// Cloud Endpoints
compile 'com.google.appengine:appengine-endpoints:1.9.42'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.42'
// Cloud Endpoints Frameworks
// compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.7'
// compile 'javax.inject:javax.inject:1'
// Project
compile files('src/main/webapp/WEB-INF/lib/gson-2.3.1.jar')
compile 'com.googlecode.objectify:objectify:5.1.9'
compile 'com.ganyo:gcm-server:1.0.2'
compile 'com.google.appengine.tools:appengine-gcs-client:0.5'
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
UPDATE:
There is now a guide detailing the transition process here: https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin/blob/master/ANDROID_README.md
And here: https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/migrating-android
New plugin now available, transition guide: https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin/blob/master/ANDROID_README.md
(or https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/migrating-android)
Don't forget to also follow the migration guide: https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0
这篇关于迁移到适用于 App Engine 的 Cloud Endpoints Frameworks 2.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!