개발 창고/Web

[Spring] FCM Push서버 개발시 고려사항

로이제로 2020. 8. 20. 14:18
반응형

FCM Push서버 시 만약 Maven을 적용하였다면 pom.xml에 아래와 같이 추가할 것입니다.

        <dependency>
            <groupId>com.google.firebase</groupId>
            <artifactId>firebase-admin</artifactId>
            <version>6.7.0</version>
        </dependency>

 

하지만 해당 의존만 추가하면 아래와 같은 오류가 발생하기도 합니다. (제가 최근에 겪은 오류)

Uncaught exception from servlet
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
    at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:284)
    at com.google.api.gax.grpc.InstantiatingChannelProvider.createChannel(InstantiatingChannelProvider.java:135)
    at com.google.api.gax.grpc.InstantiatingChannelProvider.getChannel(InstantiatingChannelProvider.java:116)
    at com.google.api.gax.grpc.ChannelAndExecutor.create(ChannelAndExecutor.java:65)
    at com.google.api.gax.grpc.ClientSettings.getChannelAndExecutor(ClientSettings.java:77)
    at com.google.cloud.pubsub.spi.v1.TopicAdminClient.<init>(TopicAdminClient.java:150)
    at com.google.cloud.pubsub.spi.v1.TopicAdminClient.create(TopicAdminClient.java:141)
    at linqmap.cloud.google.pubsub.PubSubFactory.createTopic(PubSubFactory.java:142)

 

이 경우에는 당황하지 마시고 아래와 같이 pom.xml에 추가해주시면 오류가 해결됩니다.

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>18.0</version>
        </dependency>

guava 18.0 또는 그 이상 버전으로 설정해주시면 됩니다.

반응형