我使用的是grails 2.5,並且在我的項目中使用了grails spring websockets,一切正常。現在,我想實現登錄與谷歌加入Maven的依賴關係BuildConfig爲谷歌API客戶端:不包括來自grails的maven依賴項BuildConfig
compile 'com.google.api-client:google-api-client:1.20.0'
而現在,當我運行的應用程序,我得到這個錯誤
java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering()
這是因爲Spring的websocket插件和google api客戶端使用的Jackson庫之間存在衝突。 正如我所看到的,它看起來像谷歌API是使用過時版本的傑克遜。 是否有可能排除傑克遜從maven依賴項導入?我知道從grails插件可以添加'排除'。但它似乎並不爲行家依賴工作,我已經添加了這一點,但沒有運氣:
compile 'com.google.api-client:google-api-client:1.20.0', { excludes "com.google.api-client:google-api-client-jackson2:1.20.0" }
只是提醒,谷歌的API客戶端的依賴是在「依賴」的BuildConfig組,這是使用mavenCentral()來獲得依賴關係,而不是在'插件'下。
有誰知道我該如何解決這個問題?
感謝
編輯:可能不理想,但我可以解決這個問題,只是加入了最新的傑克遜依賴
compile 'com.google.api-client:google-api-client:1.20.0', {
excludes "com.google.api-client:google-api-client-jackson2:1.20.0"
}
compile 'com.fasterxml.jackson.core:jackson-core:2.7.2'
嘗試'排除'google-api-client-jackson2''而不是全名。它適用於我們的簡單依賴關係,沒有問題。依賴關係必須在'dependencies {}'而不是'plugins {}'下定義 – droggo