Quelle dépendance Google Maven pourrait corriger cette erreur:
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)
Code:
Blob blob = storage.get(blobId);
if(blob.exists()) {
return true;
}
Votre version de Google goyave est soit trop ancienne (<20.0) ou inadaptée (plusieurs versions de pots). Assurez-vous que vous n'avez pas plusieurs versions dans votre arborescence de dépendances.
Utilisation
mvn dependency:tree | less
pour rechercher les versions de goyave.
Veuillez ajouter les dépendances suivantes au POM de votre projet:
<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>
J'ai eu le même problème dans mon application Java/Kotlin. Lorsque l'application a été exécutée via IntelliJ, il n'y avait aucun problème. Cependant, lorsque le . Jar a été exécuté, le message d'erreur ci-dessus a été lancé.
Je n'ai pas pu trouver un élément d'action directe à prendre avec le problème de goyave défini par @Laurent Perez ci-dessus, j'ai donc fait ce qui suit qui a résolu le problème avec mon . Jar fichier en cours d'exécution:
Autres actions à essayer si ce qui précède ne fonctionne pas:
Dans mon cas, il m'est arrivé d'inclure les deux
<dependency>
<groupId>com.google.collections</groupId>
<artifactId>google-collections</artifactId>
<version>1.0</version>
</dependency>
et
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.0-jre</version>
</dependency>
En fait, je ne peux pas utiliser ces deux bibliothèques. La suppression de google-collections a résolu le problème pour moi.
Essayez d'insérer une dépendance contenant une version plus récente de goyave en haut de vos dépendances dans votre pom.xml contenant votre projet.
Par exemple.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.1.1-jre</version>
</dependency>