REST с использованием Jersey 2 (в Java-приложении GAE с использованием Guice) не работает на сервере - PullRequest
0 голосов
/ 14 января 2019

Мы интегрируем REST с использованием Jersey 2 в приложение GAE Java, которое использует Guice для DI. Мы можем сделать это на локальном сервере Dev. Когда мы внедряем его в app-engine, он не может найти bean-компоненты (классы Rest) в предоставленном пакете, тогда как он может найти bean-компоненты (классы Rest), когда он работает на локальном компьютере.

код выглядит так

**** Code to add all available bean classes in the package. ****
rest("/api/*").packages("com.l3.server.mart.rest");

**** Code being used to read all beans in the package provided. ****
String resourcePath = packge.replace(".", "/");
URL resource = getClass().getClassLoader().getResource(resourcePath);

Он правильно возвращает URL ресурса на локальном сервере разработчика, но возвращает ноль, когда работает сервер App-Engine.

Подскажите, пожалуйста, в чем здесь проблема?

Спасибо Aadhaar

1 Ответ

0 голосов
/ 14 января 2019

После многих попыток отладить проблему, я обнаружил, что в appengine-web.xml виновата конфигурация.

Конфигурация

<staging>
  <enable-jar-classes>true</enable-jar-classes>
</staging>

Удаление этой конфигурации решило проблему.

...