java.lang.Исключение ClassNotFoundException: com.google.common.util.concurrent.Обратный вызов в будущем внутри веб-приложения

# #java #firebase-cloud-messaging

Вопрос:

Я пытаюсь отправить push-уведомление в мобильное приложение из сборки веб-приложения с java8 и Zkoss через консоль Firebase. Все материалы работают нормально, если я запускаю его в основном, но получаю ошибку, если пытаюсь вызвать тот же метод внутри веб-приложения (работает на Tomcat 7.0.105)

В деталях я использую приведенный ниже код, чтобы:

  • получение учетных данных Google путем чтения файла firebase json
  • построение сообщения
  • получить ответ
 FileInputStream file = new FileInputStream(new File(FirebaseController.class.getClassLoader()  .getResource(JSON_FILE).toURI())); GoogleCredentials credentials = GoogleCredentials .fromStream(file) .createScoped("https://www.googleapis.com/auth/firebase.messaging"); credentials.refreshIfExpired(); String token = credentials.getAccessToken().getTokenValue();  FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setDatabaseUrl("https://my_application_name.firebaseio.com") .build(); FirebaseApp.initializeApp(options); etc...  

Но когда я пытаюсь вызвать приведенный ниже метод из запущенного веб-приложения

 GoogleCredentials.fromStream(file);  

Я получаю сообщение об ошибке «java.lang.Исключение ClassNotFoundException: com.google.common.util.concurrent.Обратный вызов в будущем»

Теперь мои библиотеки внутри проекта находятся ниже:

 1.com.google.errorprone » error_prone_annotations.jar 2.com.google.guava » failureaccess.jar 3.com.google.guava » listenablefuture.jar 4.com.google.j2objc » j2objc-annotations.jar 5.org.checkerframework » checker-qual.jar 6.jsr305.jar 7.Guava 30.1.1.jar 8.listenablefuture-1.0.jar  

Согласно всей документации, размещенной в Интернете, этот класс принадлежит Guava, но по какой-то причине он правильно скомпилирован, но не основан во время выполнения. Может ли у кого-нибудь быть идеи, почему это происходит, и помочь мне?

Это очень много!