簡體   English   中英

在App Engine的Cloud Endpoints Frameworks 2.0中增強端點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM