迁移到应用引擎的云端点框架2.0



我目前正在尝试从Cloud Endpoints 1.0迁移到Cloud Endpoints Frameworks 2.0

我遵循了下面列出的步骤:https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0

在我的build.gradle我已经替换:

compile 'com.google.appengine:appengine-endpoints:1.9.42'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.42'

:

compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.5'
compile 'javax.inject:javax.inject:1'

web.xml中,我用EndpointsServlet代替了SystemServiceServlet,用/_ah/api/*代替了/_ah/spi/*

但是在编译时,我得到以下错误:

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

我错过了什么吗?

编辑,根据@saiyr的要求,这是我的build.gradle文件:

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
    }
}

更新:

现在有一个详细的过渡过程指南: 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

由于Gradle插件正在更新中,现在您需要注释/删除endpoints片段,以便在构建时不会生成客户端库。然后,如果您需要生成客户端库,那么现在手动执行。

新插件现在可用,过渡指南: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

我不知道你是否已经修复了它,但这解决了我的问题

编译"com.google.endpoints: endpoints-framework: 2.0.0-beta.9"

最新更新