2015-11-04 62 views
0

我想用我的項目中GCS庫:谷歌App Engine的API - 番石榴依賴衝突

val GoogleCloud = Seq(
    "com.google.appengine.tools" % "appengine-gcs-client" % "0.5" exclude("com.google.guava", "guava-jdk5"), 
    "com.google.appengine" % "appengine-api-stubs" % "1.9.28", 
    "com.google.appengine" % "appengine-api-1.0-sdk" % "1.9.28", 
    "com.google.guava" % "guava" % "19.0-rc2" 
) 

我得到這個錯誤:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createUnstarted()Lcom/google/common/base/Stopwatch; 

我加入了exclude上述的建議here但沒有運氣。

回答

0

我跑到相同的問題,排除沒有工作對我來說。 經過兩天的搜索和嘗試,我發現以下內容:

不知何故,Eclipse在部署到appengine期間編譯新WAR之前,並未從目標/ MyAppWeb-1.1/WEB-INF/lib /文件夾中刪除所有jar 。所以仍然有文件guava-jdk5.jar保留在我之前的步驟中,不管我是否從依賴關係中排除它。有些進程持有這些罐子,因爲我必須重新啓動窗口才能刪除目標文件夾的所有內容。 之後,新的重新編譯和重新部署錯誤不再出現。

因此嘗試檢查您生成的WAR,也許有guava-jdk5.jar,忘記了以前的任何編譯。在這種情況下,刪除目標文件夾的所有內容,然後重新編譯並重新部署