Я пытаюсь перенести REST API (Java, созданный с использованием Maven в Eclipse) с собственного сервера на сервер партнера. Они установили Tomcat 9 и Mon go 3.6.17 для нас (у меня есть небольшой контроль над этим, но если действительно нужно, я могу видеть для установки более новых / других версий). У меня было много проблем несовместимости, но я не могу найти решение для следующего.
При вызове любой конечной точки на удаленном сервере я получаю следующую ошибку (вы можете видеть, что я использую Джерси):
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Could not initialize class com.mongodb.MongoClientOptions
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Я понимаю из того, что я читаю онлайн, что есть проблема несовместимости с драйвером mon go Java. Я сделал много изменений в версии драйвера Mon go, основываясь на найденных таблицах совместимости, но не повезло. В настоящее время он установлен на:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.6.2</version>
</dependency>
в помпе моего проекта.
Для справки мы используем Tomcat 9 и Mon go v4.0.9 - но даже с изменением версии драйвера в В нашей сборке службы по-прежнему работают нормально (например, при использовании версии 3.6.2 выше) как на нашем сервере (Linux, не знаю спецификаций, я могу обновить завтра), так и когда я запускаю службу через eclipse на моей локальной машине (Windows). Удаленный сервер работает на CentOS 7.6.1810 и на нем установлен OpenJDK v1.8.0_242. И наоборот, у нас есть Oracle JDK 8 (несколько разные версии на локальном компьютере и сервере - локально, я запускаю 1.8.0_91).
Есть идеи?