jira-importer commented on issue #524:
URL: 
https://github.com/apache/maven-deploy-plugin/issues/524#issuecomment-2771548816

   **[Jérôme 
Joslet](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=j.joslet)** 
commented
   
   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.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to