2013-08-26 44 views
1

我試圖從谷歌應用程序引擎項目使用Eclipse插件生成「雲端點客戶端庫」,但它失敗,出現異常:InvocationTargetException - 「具有相同API名稱和版本的所有API類必須具有完全相同的API範圍配置」。 我在MAC OS X 10.8.4上使用Eclipse 4.2和Google App-Engine插件1.8.3。 奇怪的是:在運行Windows的PC上使用相同的eclipse和插件版本,從項目生成庫不會引發任何異常。Tryint從谷歌應用程序引擎項目生成「雲端點客戶端庫」在MAC OS X失敗

+0

我有與Eclipse 4.2,Windows上的App Engine 1.8.4同樣的問題。這是MobileAssistant示例應用程序。你有沒有解決這個問題呢? – Kai

回答

1

我遇到了同樣的問題。 我最終刪除了所有端點類的資源屬性,因爲它是唯一的區別。

@Api(name = "shoppingassistant", 
// resource = "deviceinfos", 
version = "v1", namespace = @ApiNamespace(ownerDomain = ApiKeysAndIds.API_OWNER, ownerName = ApiKeysAndIds.API_OWNER, packagePath = ApiKeysAndIds.API_PACKAGE_PATH), clientIds = { 
     ApiKeysAndIds.ANDROID_CLIENT_ID, ApiKeysAndIds.IOS_CLIENT_ID, ApiKeysAndIds.WEB_CLIENT_ID }, audiences = { ApiKeysAndIds.AUDIENCE_ID }) 

該項目現在編譯,我能夠生成客戶端庫。 (我還沒有試過Android項目)

0

儘管@Api註釋中的所有屬性都必須匹配API中的所有類,您還可以使用@ApiClass註釋來提供不需要的屬性類之間完全一樣。

對於這種情況:

@Api(name = "shoppingassistant", 
version = "v1", namespace = @ApiNamespace(ownerDomain = ApiKeysAndIds.API_OWNER, 
    ownerName = ApiKeysAndIds.API_OWNER, packagePath = ApiKeysAndIds.API_PACKAGE_PATH), 
clientIds = { 
    ApiKeysAndIds.ANDROID_CLIENT_ID, ApiKeysAndIds.IOS_CLIENT_ID, ApiKeysAndIds.WEB_CLIENT_ID}, 
audiences = {ApiKeysAndIds.AUDIENCE_ID}) 
@ApiClass(resource = "deviceinfos") 

閱讀完整的教程here

相關問題