В моем файле maven pom у меня есть некоторые зависимости, которые являются нашими собственными jar-файлами из других проектов, которых нет в репозитории. Мы использовали системные зависимости, такие как
<dependency>
<groupId>efaadmin</groupId>
<artifactId>efaadmin</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>
${basedir}\src\main\webapp\WEB-INF\lib\efaadmin.jar
</systemPath>
</dependency>
Теперь при написании Dockerfile ониЗависимости стали нашим камнем преткновения.
#
# Build stage
#
FROM maven:3.6.1-jdk-8-slim AS BUILD
COPY src /home/app/src
COPY pom.xml /home/app
COPY jars/*.jar /home/app/jars/
RUN mvn -f /home/app/pom.xml
#
# Package stage
#
FROM tomcat:7.0-jdk8-openjdk-slim
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
COPY --from=build /home/app/target/DrySign.war $CATALINA_HOME/webapps/
COPY --from=build /home/app/target/jars/* $CATALINA_HOME/webapps/xxxxx/WEB-INF/lib/
EXPOSE 8080
CMD ["catalina.sh", "run"]
Но докер жалуется:
'dependencies.dependency.systemPath' for efaadmin:efaadmin:jar must specify an absolute path but is ./jars/efaadmin.jar
Как с этим бороться?