Я создал небольшую служебную библиотеку, которая зависит от
'com.google.firebase:firebase-admin:6.12.2'
, и я генерирую jar, используя плагин javashadow gradle
, утилита работает нормально в моей локальной JVM, но когда я пытаюсь чтобы запустить его на сервере Tomcat 9, я получаю следующее исключение
[22-03-2020 16:20:45,005]-[ERROR][pool-1-thread-1][org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler] - Unexpected error occurred in scheduled task.
java.lang.NoSuchMethodError: com.google.common.primitives.Booleans.countTrue([Z)I
at com.google.firebase.messaging.Message.<init>(Message.java:75)
at com.google.firebase.messaging.Message.<init>(Message.java:40)
at com.google.firebase.messaging.Message$Builder.build(Message.java:295)
at ae.gov.adm.saeed.ActionNotifier.sendActionNotification(ActionNotifier.java:43)
at ae.gov.adm.saeed.notification.NotificationScheduledServiceTest.someJob(NotificationScheduledServiceTest.java:54)
at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
, после поиска я получаю следующий ответ
https://groups.google.com/forum/#! topic / firebase-talk / 0MAV3b2WT1s
, который говорит, что сервер Tomcat каким-то образом видит старую версию библиотеки Google Guava, и у проекта уже есть старая версия. несмотря на то, что я включил все связанные зависимости в свой файл jar утилиты
, как я могу решить эту проблему