Docker создает базовый образ с помощью обычных файлов .jar

#java #docker #maven

Вопрос:

Люди,

Проект, который я реализую, использует protobufs для связи между сущностями, и я пытаюсь настроить среду, создав базовый образ, который скомпилирует protobufs и установит в mvn. Что-то вроде…

 ARG maven_version=latest
ARG openjdk_version=latest

FROM maven:${maven_version} AS build

COPY ./protocol_buffers/app.proto /home/app/protocol_buffers
COPY ./protocol_buffers/settings.xml /root/.m2/settings.xml
COPY ./java/pom.xml /home/app

RUN mvn -f /home/app/pom.xml clean compile install --projects Core
 

Вот тут-то все и становится странным. У меня есть структура каталогов, такая как:

  • Ява
    • pom.xml
  • Ядро
    • pom.xml
  • Субъект1
    • pom.xml ..
  • Entityn
    • pom.xml

Я хочу только скомпилировать основной проект, чтобы создать базовый образ, а затем использовать этот образ в разделе » ОТ » для каждого другого проекта. Однако я не могу, потому что он жалуется на то, что не находит своего родителя:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>some.group</groupId>
        <artifactId>artifact</artifactId>
        <version>2.0.0</version>
    </parent>
    <artifactId>Core</artifactId>
 

Итак, я попытался решить проблему, вместо этого скопировав pom.xml в каталоге java и только компилирует основной проект, но жалуется, что в нем отсутствуют модули.

Есть какие-нибудь идеи ?