Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多模块项目的子模块中忽略maven发布插件目标_Java_Maven_Maven Release Plugin - Fatal编程技术网

Java 在多模块项目的子模块中忽略maven发布插件目标

Java 在多模块项目的子模块中忽略maven发布插件目标,java,maven,maven-release-plugin,Java,Maven,Maven Release Plugin,我有一个多模块Maven项目。该项目规划如下 project/ pom.xml types/ pom.xml client/ pom.xml service/ pom.xml 类型和客户端模块构建为JAR,服务构建为WAR。我正在使用maven发布插件来创建这个项目的新版本。我想让发布插件在执行服务模块的发布时调用额外的目标 在根pom中,发布插件的配置如下(没有什么特别之处): 我的想法是,我想为服务模块构建一个Docker映像,但为项目中的其他

我有一个多模块Maven项目。该项目规划如下

project/
  pom.xml

  types/
    pom.xml

  client/
    pom.xml

  service/
    pom.xml
类型
客户端
模块构建为JAR,
服务
构建为WAR。我正在使用maven发布插件来创建这个项目的新版本。我想让发布插件在执行
服务
模块的发布时调用额外的目标

在根pom中,发布插件的配置如下(没有什么特别之处):

我的想法是,我想为
服务
模块构建一个Docker映像,但为项目中的其他模块构建映像没有意义。但是,在剪切新版本时,
service
pom文件中的目标配置永远不会被调用

Maven版本:3.3.3

maven发布插件:2.5.3

JDK:Oracle 1.8.0u144

正在使用的命令:

mvn -Pstaging -B clean release:clean release:prepare release:perform
我无法共享此命令的输出

我已经验证了相关配置似乎可以通过

mvn -Pstaging help:effective-pom 

我的问题是:我试图通过发布插件实现的目标可能吗?我没有发现任何问题或文章表明这是不可能的。

请注意,我从未使用过
dockerfile maven插件
,请尝试使用发行版配置文件而不是目标

第一步。在
project/pom.xml
中编辑发布插件配置


maven发布插件
2.5.3   
发布docker
为配置文件选择一个有意义的名称。我将使用publish docker作为此处的名称

第二步。将具有该名称的配置文件添加到
服务/pom.xml


发布docker
com.spotify
dockerfile maven插件
12345.ecr.us-east-1.amazonaws.com/project
docker发布
部署
建造
推
此配置文件包括将
dockerfile:build
dockerfile:push
目标绑定到
deploy
阶段的插件配置。发布插件将为每个模块启用发布docker配置文件。配置文件将只存在于
服务
模块中,因此它将在那里运行

还有一件事我注意到了。在release命令中:

mvn -Pstaging -B clean release:clean release:prepare release:perform
我怀疑
-Pstaging
部分在发布期间没有实际应用。发布插件为每个目标运行派生另一个进程。要将参数传递给fork,需要
arguments
参数:

mvn -Pstaging -Darguments="-Pstaging" -B clean release:clean release:prepare release:perform
mvn -Pstaging -B clean release:clean release:prepare release:perform
mvn -Pstaging -Darguments="-Pstaging" -B clean release:clean release:prepare release:perform