私はいくつかのモジュールがDockerイメージとして構築されなければならないマルチモジュールMavenプロジェクトを持っています。Maven:親POMの子プロジェクトのビルドディレクトリを参照する方法は?
親POM:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.3.5</version>
<configuration>
<baseImage>java</baseImage>
<imageName>${project.artifactId}</imageName>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}/${project.build.finalName}-executable</directory>
<include>${project.build.finalName}.jar</include>
<include>lib/*.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
子供POM:私はそうのような親POM構成のすべてを入れてみました
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
しかし、私は、私は、子プロジェクトでmvn docker:build
を実行するとproject.build.directory
プロパティが子のターゲットディレクトリではなく親POMのターゲットディレクトリに解決されたため、エラーが発生します。
親POMのプロパティの拡張を遅延させることはできますか?または、親のPOMから子のプロパティを参照することはできますか?
mvn dockerを実行している場合、プラグインがpluginManagementにあるため、$ {project.build.directory} = child/targetという子プロセスでビルドすることはできません。ログを表示しますか? –