迁移到适用于App Engine的云端点框架2.0 [英] Migrating to Cloud Endpoints Frameworks 2.0 for App Engine

查看:163
本文介绍了迁移到适用于App Engine的云端点框架2.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正尝试从 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'
compile'c​​om.google.appengine:appengine-endpoints-deps:1.9.42'

与:

  compile'c​​om.google.endpoints: endpoints-framework:2.0.0-beta.5'
compile'javax.inject:javax.inject:1'

web.xml中我用替换了 SystemServiceServlet EndpointsServlet / _ ah / spi / * / _ ah / api / * / p>

然而,在编译时,我得到以下错误:

lockquote
$ $ p $ 错误:任务':myapp_backend:appengineEndpointsGetClientLibs'的执行失败。
>运行endpoints命令时出错get-client-lib:web.xml必须有1(found:0)SystemServiceServlet servlet


< blockquote>

我错过了什么?



按照@saiyr的要求编辑,这里是我的构建.gradle file:

  buildscript {
repositories {
jcenter()
}
依赖关系{
classpath'com.google.appengine:gradle-appengine-plugin:1.9.42'
}
}

存储库{
jcenter();
}

apply plugin:'java'
apply plugin:'war'
apply plugin:'appengine'

sourceCompatibility = JavaVersion .VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

依赖项{
// AppEngine
appengineSdk'com.google.appengine:appengine-java-sdk:1.9.42'
编译'javax.servlet:servlet-api:2.5'

//云端点
编译'com.google.appengine:appengine-endpoints:1.9.42'
compile'c​​om.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')
compile'c​​om.googlecode.objectify:objectify:5.1.9'
compile'c​​om.ganyo:gcm-server:1.0 .2'
编译'com.google.appe ngine.tools:appengine-gcs-client:0.5'
}

appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}






更新:

现在是详细介绍过渡流程的指南: https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin/blob/master/ANDROID_README.md



在这里:< a href =https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/migrating-android =nofollow noreferrer> https://cloud.google.com/endpoints/docs / frameworks / legacy / v1 / java / migrating-android

解决方案

新插件现在ava ilable,转换指南:
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的云端点框架2.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆