Я застрял на этом довольно долго и не могу найти решение нигде.Я пишу службу отдыха Java, используя фреймворк jersey, maven как менеджер пакетов, размещенный на Apache Tomcat.
Проект отлично работает локально.Я хочу докеризировать приложение и действительно борюсь.У меня запущен и запущен контейнер tomcat, и когда я захожу в корень своего приложения, я вижу простой текст приветствия, который у меня есть.Поэтому, когда я перехожу к http://xxx:8888/npmanager/
, я вижу то, что ожидаю.
Теперь, когда я пытаюсь достичь любой из моих конечных точек, например, https://xxx:8888/npmanager/api/XXX
, я получаю ошибку 500:
предупреждения были обнаружены с помощью классов ресурсов и / или провайдеров: SEVERE: отсутствуетЗависимость для поля: private org.glassfish.jersey.server.wadl.WadlApplicationContext org.glassfish.jersey.server.wadl.internal.WadlResource.wadlContext
Док-файл:
FROM tomcat:8.5.38
ADD ./target/npmanager.war /usr/local/tomcat/webapps/
CMD chmod +x /usr/local/tomcat/bin/catalina.sh
CMD ["catalina.sh", "run"]
docker-compose.yml
version: '3'
services:
tomcat-dev:
build: .
environment:
TOMCAT_USERNAME: root
TOMCAT_PASSWORD: root
ports:
- "8888:8080"
mysql-dev:
image: mysql:8.0.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: npmanager
volumes:
- /mysql-data:/var/lib/mysql
ports:
- "3308:3306"