このエラーを修正できるGoogle Mavenの依存関係:
Java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;J)V
at com.google.cloud.storage.spi.v1.HttpStorageRpc.read(HttpStorageRpc.Java:487)
at com.google.cloud.storage.BlobReadChannel$1.call(BlobReadChannel.Java:127)
at com.google.cloud.storage.BlobReadChannel$1.call(BlobReadChannel.Java:124)
at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.Java:94)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.Java:54)
at com.google.cloud.storage.BlobReadChannel.read(BlobReadChannel.Java:124)
at Sun.nio.ch.ChannelInputStream.read(ChannelInputStream.Java:65)
at Sun.nio.ch.ChannelInputStream.read(ChannelInputStream.Java:109)
at Sun.nio.ch.ChannelInputStream.read(ChannelInputStream.Java:103)
at Java.io.InputStream.read(InputStream.Java:101)
コード:
Blob blob = storage.get(blobId);
if(blob.exists()) {
return true;
}
Googleグアバのバージョンが古すぎる(<20.0)か、不一致(複数のjarバージョン)です。依存関係ツリーに複数のバージョンがないことを確認してください。
つかいます
mvn dependency:tree | less
グアバのバージョンを探します。
次の依存関係をプロジェクトのPOMに追加してください。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6-jre</version>
</dependency>
<dependency>
<groupId>org.Apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.8</version>
</dependency>
Java/Kotlinアプリケーションでも同じ問題が発生しました。アプリがIntelliJ経由で実行されたとき、問題はありませんでした。ただし、。Jarを実行すると、上記のエラーメッセージがスローされました。
上記の@Laurent Perezによって定義されたGuavaの問題で実行する直接的なアクションアイテムを見つけることができなかったため、次のようにしての問題を解決しました。Jar実行中のファイル:
上記が機能しない場合に試す他のアクション:
私の場合、たまたま両方を含めました
<dependency>
<groupId>com.google.collections</groupId>
<artifactId>google-collections</artifactId>
<version>1.0</version>
</dependency>
そして
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.0-jre</version>
</dependency>
結局のところ、これらのライブラリの両方を使用することはできません。 Googleコレクションを削除すると、問題が解決しました。
プロジェクトを含むpom.xmlの依存関係の先頭に、新しいバージョンのguavaを含む依存関係を挿入してみてください。
例えば。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.1.1-jre</version>
</dependency>