Maven部署插件-部署结束不工作

Maven部署插件-部署结束不工作,maven,maven-deploy-plugin,Maven,Maven Deploy Plugin,我在多模块项目中使用maven deploy插件,其DeployateEnd属性设置为true 在根项目中执行mvn deploy后,将为每个子项目执行deploy插件-我可以看到如下内容: [信息]---maven部署插件:2.8.2:deploy(默认部署)@subproject name--- [信息]部署包:子项目名称:末尾为v1.1 最后一次调用用于根项目: [信息]---maven部署插件:2.8.2:deploy(默认部署)@父项目--- [信息]部署包:父项目:结束时为v1

我在多模块项目中使用maven deploy插件,其
DeployateEnd
属性设置为
true

在根项目中执行
mvn deploy
后,将为每个子项目执行deploy插件-我可以看到如下内容:

[信息]---maven部署插件:2.8.2:deploy(默认部署)@subproject name---
[信息]部署包:子项目名称:末尾为v1.1
最后一次调用用于根项目:

[信息]---maven部署插件:2.8.2:deploy(默认部署)@父项目---
[信息]部署包:父项目:结束时为v1.1
仅此而已,不会执行实际部署


如何使deploy插件在具有
deployAtEnd=true
的多模块项目中正确工作?

今天,我在项目中解决了相同的问题

问题模块有扩展(
标记)。它们违反了maven deploy插件中内置模块的计数器


为了修复它,我将
移动到根POM。

今天我们刚刚遇到这个问题,我在maven deploy插件中发现了相关问题:

本期Jérôme Joslet外植:

我今天发布了这个问题,并找到了解决方法

maven部署插件在静态变量中记录其状态。一个 堆叠部署请求(
deployRequests
)和另一个用于计数的请求 就绪项目(
readyProjectsCenter
)。当问题发生时,有 用于计算就绪项目的静态变量不止一个。这 当有多个类加载器加载部署时发生 插件的类。这会导致多个类实例和多个 静态变量实例。某些模块依赖于一个实例,并且 其他模块在另一个模块上

结果是部署插件 从不刷新其挂起的部署请求,因为没有计数器等于 反应堆中的项目数量

如下文所述 文件::

对于使用构建扩展的项目,插件类加载器是 连接到项目类加载器。这使得插件代码可以访问这两个 Maven API包和项目构建导出的包 扩展。Maven将为每个类创建一个且仅一个类加载器 独特的插件+依赖项+构建扩展组合

Maven保证每个项目都有且只有一个项目类加载器 唯一的项目构建扩展集和相同的类加载器将 可由具有生成扩展集的所有项目使用

解决方法是声明所有扩展插件及其所有额外插件
,在父项目中。这就保证了 classloader用于加载所有模块中的插件


在所有模块的末尾,您没有看到将工件部署到存储库的输出?您是否使用自定义maven插件来定义自己的生命周期?@khmarbaise正确,没有与部署相关的输出。我没有使用任何自定义插件(至少我认为是这样,我如何验证它?)你能显示完整的日志输出吗?否则很难看出有什么问题吗?@khmarbaise我正在准备一些简单的示例。同时,我注意到,如果我在插件定义中加入显式执行:
deploy
,那么部署就开始了,但是,在序列中的一些子项目中,要清楚的是,我使用了AdvaseDATAN很长时间,有500个模块,没有任何问题……所以我假设还有其他问题。