2016-04-27 1 views
0

エラーが発生します。グアバのバージョンを変更してもこの問題を解決することはできません。私はgcloud javaを使用してローカルJavaアプリケーションからクラウドデータストアに接続しています。この依存関係エラーが発生しています。スタンドアロンJavaアプリケーションからデータストアにアクセスするときにPom.xmlにエラーが発生する

java.lang.NoSuchMethodError: com.google.common.collect.Iterables.getFirst(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object; 

<dependencies> 
    <dependency>      <!-- REQUIRED --> 
     <groupId>javax.servlet</groupId> <!-- Java Servlet API --> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <scope>provided</scope>   <!-- Provided by the Jetty Servlet engine --> 
    </dependency> 

    <dependency>      <!-- Java Server Pages --> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.0</version> 
    </dependency> 

    <dependency>      <!-- JSP standard tag library --> 
     <groupId>jstl</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 

    <dependency>      <!-- Apache Taglibs --> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>1.1.2</version> 
    </dependency> 

    <dependency>      <!-- Google Cloud Client Library for Java --> 
     <groupId>com.google.cloud</groupId> 
     <artifactId>gcloud-java</artifactId> 
     <version>0.2.0</version> 
    </dependency> 

    <dependency>      <!-- Google API client - for stuff that's not in gcloud--> 
     <groupId>com.google.api-client</groupId> 
     <artifactId>google-api-client</artifactId> 
     <version>1.21.0</version> 
    </dependency> 

    <dependency>      <!-- Google+ API Client Library for Java --> 
     <groupId>com.google.apis</groupId> 
     <artifactId>google-api-services-plus</artifactId> 
     <version>v1-rev339-1.21.0</version> 
    </dependency> 

    <dependency>      <!-- https://github.com/FasterXML/jackson-databind --> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.7.0</version> 
    </dependency> 

    <dependency>      <!-- Google Core Libraries for Java --> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> <!-- https://github.com/google/guava/wiki --> 
     <version>10.0.1</version> 
    </dependency> 

    <dependency>      <!-- http://www.joda.org/joda-time/ --> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.9.2</version> 
    </dependency> 

    <dependency>      <!-- http://dev.mysql.com/doc/connector-j/en/ --> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.38</version> 
    </dependency> 

    <dependency>      <!-- Apache Database Connection Pool API --> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-dbcp2</artifactId> 
     <version>2.1.1</version> 
    </dependency> 

    </dependencies>My pom.xml has the following dependencies: 

答えて

0

コンテナモジュールのバージョンを確認してください。

たとえば、GlassFish Serverには旧バージョンのguava libがあります。 可能であれば(そして実際に)あなたの "GlassFish_Server/glassfish/modules /"ディレクトリをチェックしてください。

+0

でNoSuchMethodErrorとないNoSuchMethodException違い、私は、スタンドアロンのAppEngineを実行しています私のシステム上でローカルに実行されているJavaアプリケーション。 – bigdata

-1

おそらく遅すぎますが、ここで私の答えです:NoSuchMethodErrorの根本原因は、実行クラス以外のバージョンでクラスをコンパイルしたことです。主な依存関係の依存関係ツリーを確認してください。私のポイントはcom.google.apiクライアント用ですが、私はそれを保証するcan't ...

ボーナス:私はGlassFishServerを使用していないこのarticle

関連する問題