В образе Docker есть ошибка Java на одном компьютере, но нет на другомJAVA

Программисты JAVA общаются здесь
Anonymous
В образе Docker есть ошибка Java на одном компьютере, но нет на другом

Сообщение Anonymous »

У меня есть образ Docker (приложение Java Tomcat), который я создал и отправил в частный реестр. Когда я перетаскиваю его на удаленный сервер и запускаю, я постоянно получаю ошибку 500 и:
jakarta.servlet.ServletException: Filter execution threw an exception

Основная причина:
java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.util.JacksonFeatureSet com.fasterxml.jackson.core.JsonParser.getReadCapabilities()'

Я загрузил образ на свой локальный компьютер, и он работает нормально. Обе системы — Ubuntu 22.04 (на моей машине есть рабочий стол с графическим интерфейсом и докером, удаленная система — это сервер Ubuntu с движком Docker Cli). Я не могу понять, почему поведение на разных машинах будет разным, и некоторое время пытался поискать. Проблема возникает точно так же при создании образа в каждой отдельной системе.
Отредактированный файл Dockerfile:
FROM tomcat:10.1.24-jdk21

RUN apt-get update && apt-get install -y default-jdk maven

WORKDIR /usr/local/

COPY . .

# these need to be copied from the local environment due to changes in the properties across environments
RUN mv context.xml /usr/local/tomcat/conf/context.xml
RUN mv catalina.properties /usr/local/tomcat/conf/catalina.properties

RUN ["mvn", "clean", "install", "-Dmaven.test.skip=true"]
RUN ["mvn", "package", "-Dmaven.test.skip=true"]

# these lines fixed a previous error. Have also tried commenting them out
RUN mv /usr/local/tomcat/webapps /usr/local/tomcat/webapps2
RUN mv /usr/local/tomcat/webapps.dist /usr/local/tomcat/webapps

EXPOSE 8080

RUN cp /usr/local//target/.war /usr/local/tomcat/webapps/.war


Подробнее здесь: https://stackoverflow.com/questions/787 ... ot-another

Вернуться в «JAVA»