[
https://issues.apache.org/jira/browse/MDEPLOY-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16207644#comment-16207644
]
Jérôme Joslet commented on MDEPLOY-193:
---------------------------------------
I issue this problem today and found a workaround.
The maven-deploy-plugin records its state in static variables. One for stacking
deploy requests ({{deployRequests}}) and another one for counting ready project
({{readyProjectsCounter}}). When the problem occurs, there is more than one
static variable used to count ready projects. This happens when there is more
than one classloader that loads the deploy plugin's classes. This leads to
multiple class instances and multiple static variable instances. Some module
count on one instance and others modules on another one.
The result is that the deploy plugin never flush its pending deploy requests
since no counter is equal to the number of project in the reactor.
As mentionned in the following documentation :
https://svn.apache.org/repos/infra/websites/production/maven/content/reference/maven-classloading.html
:
??For projects that use build extensions, plugin classloaders are wired to
project classloaders. This gives plugin code access to both Maven API packages
and packages exported by the project build extensions. Maven will create one
and only one classloader for each unique plugin+dependencies+build-extensions
combination.??
and
??Maven guarantees there will be one and only one project classloader for each
unique set of project build extensions and the same classloader will be used by
all projects that have the set of build extensions.??
The workaround is to declare all extension plugins, with all their extra
{{<dependencies>}}, in the parent project. This assures that the same
classloader is used for loading plugin in all modules.
> deployAtEnd does not deploy artifacts for multi-module project with build
> extensions
> ------------------------------------------------------------------------------------
>
> Key: MDEPLOY-193
> URL: https://issues.apache.org/jira/browse/MDEPLOY-193
> Project: Maven Deploy Plugin
> Issue Type: Bug
> Components: deploy:deploy
> Affects Versions: 2.8.2
> Environment: windows 7 / sles 11
> maven 3.0.5
> java 7u45
> Reporter: Jörg Sesterhenn
> Attachments: deployAtEndFailure.zip
>
>
> The deploy plugin shows the same behaviour as described in MINSTALL-102.
> We noticed that multimodule projects do not deploy any artifacts if there are
> modules with packagings that add build extensions (e.g. atlassian-plugin, aar
> = axis archives).
> This issue is here for better visibility as discussed in MINSTALL-102.
> Please find attached testcase there.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)