Прошу помощи у знатоков в поиске причины java.lang.NoSuchMethodError

161
24 февраля 2018, 21:28

Я пытаюсь настроить отправку уведомлений с сервера tomcat (Ubuntu 16.04) на android с помощью Firebase Cloud Messaging. Весь приведенный ниже код - это копия с официальных источников Firebase: https://firebase.google.com/docs/cloud-messaging/admin/send-messages и https://firebase.google.com/docs/admin/setup.

При выполнении этого:

ApiFuture<String> afs = fm.sendAsync(message);

участка кода вылетает ошибка:

23-Feb-2018 18:15:08.299 SEVERE [http-nio-8080-exec-2] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [YourWayServer] in context with path [/YourWayServer] threw exception [Servlet execution threw an exception] with root cause java.lang.NoSuchMethodError: com.google.firebase.messaging.FirebaseMessaging.sendAsync(Lcom/google/firebase/messaging/Message;)Lcom/google/api/core/ApiFuture

Сам код:

FileInputStream serviceAccount = new FileInputStream("*файл с ключом к Firebase");
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(GoogleCredentials.fromStream(serviceAccount))
    .setDatabaseUrl("https://your-way-admin.firebaseio.com/")
    .build();
FirebaseApp.initializeApp(options);
Message message = Message.builder()
    .setAndroidConfig(AndroidConfig.builder()
        .setTtl(3600 * 1000) // 1 hour in milliseconds
        .setPriority(AndroidConfig.Priority.NORMAL)
        .setNotification(AndroidNotification.builder()
            .setTitle("GOOG up 1.43% on the day")
            .setBody("GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.")
            .setIcon("ic_launcher")
            .setColor("#f45342")
            .build())
        .build())
    .setTopic("industry-tech")
    .build();
try {
    FirebaseMessaging fm = FirebaseMessaging.getInstance();
    ApiFuture<String> afs = fm.sendAsync(message);
    notificationResponse = afs.get();
} catch (NoSuchMethodError e) {
    this.getServletContext().log(e.getMessage());
    for (StackTraceElement el : e.getStackTrace()) {
        this.getServletContext().log(el.toString());
    }
}
this.getServletContext().log(notificationResponse);

StackTrace:

at com.yourwayserver.YourWayServer.doPost(YourWayServer.java:468)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Подключенные библиотеки в каталоге WEB-INF/libs :

READ ALSO
Android, Java. Получение имени файла с uri

Android, Java. Получение имени файла с uri

Такая проблема Вызываю диалог открытия окон, выбираю файлы, получаю uri файлов Теперь мне нужно получить имя файла такое какое оно в телефоне...

178
Android APK Compiler

Android APK Compiler

Здарова Стак Овер Флововцы! Есть такая тема, мне нужно сделать программу на дроиде, которая будет компилить другие программыНапример: AIDE в гугл...

142
Handler,Looper,Thread так ктоже поток в андроиже?

Handler,Looper,Thread так ктоже поток в андроиже?

Я не пойму,с джавы мне грят поток это Thread но в андроиде я всё запутал ,прошу кто нибудь норм обьясните мне с примерами кто есть handler кто есть...

138
RestFul java проблема с подключением CSS

RestFul java проблема с подключением CSS

Огромная проблемаЕсть Java Restful web service построенный на jax-rs 2

129