Я недавно докеризовал проект maven / springboot.Он отлично работает вне docker, и даже запускается в контейнере Docker, но как только я пытаюсь взаимодействовать с приложением, я получаю java.lang.ClassNotFoundException
.
Насколько я понимаю, это связано с classpath, но почему jar запускается локально, а не в контейнере docker?
Отсутствующий класс принадлежит внешнему файлу jar, которыйнаходится в структуре каталога проекта и указан в pom.xml как зависимость:
<dependency>
<groupId>externalJar</groupId>
<artifactId>externalJar</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/library/externalJar.jar</systemPath>
</dependency>
Вот мой dockerfile:
FROM openjdk:8-alpine
RUN apk update && apk add bash
RUN mkdir -p /opt/app
ENV PROJECT_HOME /opt/app
COPY target/main.jar $PROJECT_HOME/main.jar
WORKDIR $PROJECT_HOME
EXPOSE 8282
CMD ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","./main.jar"]
Чего мне не хватает?