0

タイトルにあるように、mysqlの依存関係を追加しました。

    val appName         = "report"
    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      "com.google.apis" % "google-api-services-analytics" % "v3-rev15-1.8.0-beta",
      "com.google.http-client" % "google-http-client-jackson2" % "1.11.0-beta",
      "com.google.oauth-client" % "google-oauth-client-jetty" % "1.11.0-beta",
      "mysql" % "mysql-connector-java" % "5.1.18",
     )

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
      resolvers += "Google Analytics" at "http://mavenrepo.google-api-java-client.googlecode.com/hg"
    )

これは〜をひき起こす:

原因:java.lang.NoSuchMethodError:com.google.common.cache.CacheBuilder.maximumSize(I)Lcom / google / common / cache / CacheBuilder;

mysqlの依存関係には、そのメソッドを取り除く何かがあると思います...しかし、何ですか?

4

2 に答える 2

0

これは通常、JARバージョンに呼び出し元のコードの内容と一致しないメソッドシグネチャがあることを意味します。CacheBuilderJARのバージョンを確認してください。同期していない可能性があります。

于 2012-10-26T14:38:57.030 に答える
-1

わかった!

まず、Guava 11が変更されてから、Guavaを更新する必要がありました。

CacheBuilder#maximumSize(int) has been replaced with CacheBuilder#maximumSize(long)

そこで、Guavaを最新リリース13.0.1に更新しましたが、それでもエラーが発生しました。これは、反射がまだ間違っていたためです。リフレクションを0.9.8に変更し、すべてが期待どおりに機能します。

val appDependencies = Seq(
      "com.google.apis" % "google-api-services-analytics" % "v3-rev15-1.8.0-beta",
      "com.google.http-client" % "google-http-client-jackson2" % "1.11.0-beta",
      "com.google.oauth-client" % "google-oauth-client-jetty" % "1.11.0-beta",
      "mysql" % "mysql-connector-java" % "5.1.18",
      "org.reflections" % "reflections" % "0.9.8",
      "com.google.guava" % "guava" % "13.0.1"
     )
于 2012-10-26T14:46:58.183 に答える