![](/img/trans.png)
[英]App Engine Cloud Endpoints Frameworks (Java) - NullPointerException when run locally
[英]Enhancing endpoints in Cloud Endpoints Frameworks 2.0 for App Engine
我收到了來自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
}
}
但是,在遷移並編譯后,出現以下錯誤:
錯誤:類型為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)
我直接從Google Cloud支持獲得此回復:
Endpoints v2的最新版本不包含某些功能和工具,目前尚無法使用。 如果您的應用程序需要以下任何一項,則不建議您遷移。
- JSON-RPC協議,這是舊版iOS客戶端所必需的
- 自動電子標簽
- 自動種類字段
- IDE整合
- 現場部分回應
同時,以下是v2.0當前不支持的工具:
- Android Studio對Cloud Endpoints 1.0的支持
- 針對Cloud Endpoints 1.0的Android Studio代碼驗證和快速修復
那么,關於“增強器”方法,您是否檢查了上述功能中是否包含此方法? 如果是這樣,您唯一的方法是檢查等效功能或再次降級到v1.0。
這不是我希望的答案,但是至少在它們正式支持這些功能之前,我們不應遷移到Endpoints Framework v2.0。
問題在於新的gradle插件沒有任務appengineEnhance
,該任務是增強jpa / jdo類的必需條件。
這里有一個解決方法https://stackoverflow.com/a/29279504/3190492
不需要appengine
塊中的enhancer {...}
部分,並且應該在上面的鏈接中的腳本中進行配置,這也毫無價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.