我收到了来自GCP的电子邮件,要求将我的项目从Cloud Endpoints 1.0迁移到Cloud Endpoints Frameworks 2.0。
我已按照此处列出的步骤进行操作:https://cloud.google.com/appengine/docs/java/endpoints/migrating?authuser=0
在我之前的build.gradle中,我有了这个指令来增强我的端点,它运行良好:
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
enhancer {
version = "v2"
api="jdo" // or "jpa"
enhanceOnBuild = true
}
}
但是,在迁移和编译之后,我收到以下错误:
错误:(60,0)无法在com.google.cloud.tools.gradle.appengine.core.AppEngineExtension类型的对象上找到参数[build_2dn4fni12bkrsqgsi25gsx3hh $ _run_closure2 $ _closure7 @ 6b02ee9e]的方法增强器()。
如果删除enhancer
部分,我会收到以下错误:
org.datanucleus.metadata.MetaDataManager initialiseFileMetaDataForUse:找到类[...]的元数据,但这个类没有增强!!请在运行DataNucleus之前增强课程。
那么,新框架中的等效增强是什么? (我正在使用Android Studio 2.3.3)
答案 0 :(得分:0)
我直接从Google云支持获得此回复:
目前已排除了一些功能和工具 最新版本的Endpoints v2无法使用。如果你的 申请需要下面提到的任何一个,你不是 建议迁移。
- JSON-RPC协议,这是旧版iOS客户端所必需的
- 自动ETags
- 自动种类字段
- IDE集成
- 字段部分回复
同时,以下是目前不支持的工具 V2.0:
- Android端口支持Cloud Endpoints 1.0
- 适用于Cloud Endpoints 1.0的Android Studio代码验证和快速修复
因此,关于'增强器'方法,您是否检查过这是否是 包含在上述功能?如果是这样,唯一的方法就是你 要做的是检查等效功能或再次降级到v1.0。
这不是我希望的答案,但至少在他们正式支持这些功能之前,我们不应该迁移到Endpoints Framework v2.0。