Each plugin invokation gets its own classloader as this is to allow for
different versions of the same plugin being used in a multi-module project,
also to allow for injecting different dependencies into a plugin.

On 12 July 2012 06:55, Oleg Estekhin <[email protected]> wrote:

> HI, thanks for response.
>
> By the "build tasks" I meant invocations of plugin:goal. In our case we
> narrowed the issue down to the single phase and single plugin, so during
> parallel build Maven just runs the same plugin:goal
> (svn-revision-number-maven-**plugin:revision) for different modules. The
> instance of the plugin mojo is, of course, different for each invocation,
> but at some point there appears one more classloader, the plugin mojo class
> and library classes that it uses are initialized for the second time, and
> after that some build tasks use the "old" plugin.class hierarchy, and some
> build tasks use the "new" plugin.class hierarchy.
>
> For example, the log contains the following log messages produced by the
> plugin:
> [INFO] [pool-1-thread-1] identities: thread=0x4FC90D2C, this=0x67CC4E4D,
> this.class=0x64375C2A, this.class.loader=0x3BAF655E,
> SqlJetFileLockManager.class=**0x58D3E2
> Plugin logs these identities each time it is invoked, so there are o lot
> of such messages with different "thread" and "this", but the same
> "this.class", "this.class.loader" and "SqlJetFileLockManager.class".
>
> And then the following log messages start to show:
> [INFO] [pool-1-thread-14] identities: thread=0x7429D88, this=0x3345FC7A,
> this.class=0x12329908, this.class.loader=0x5742691B,
> SqlJetFileLockManager.class=**0x3EE53DAE
>
>
> Regards,
> Oleg
>
> -----Исходное сообщение----- From: Olivier Lamy
> Sent: Thursday, July 12, 2012 2:49 AM
> To: Maven Users List
> Subject: Re: problem: Maven creates the second plugin classloader during
> parallel build and uses two classloader hierachies simultaneously
>
>
> Hi,
>
> 2012/7/11 Oleg Estekhin <[email protected]>:
>
>> Hi,
>>
>> I am trying to solve the mystery behind
>> http://code.google.com/p/**maven-svn-revision-number-**
>> plugin/issues/detail?id=16<http://code.google.com/p/maven-svn-revision-number-plugin/issues/detail?id=16>
>> with the help of the reporter of the original issue and the developer of
>> SqlJet library.
>>
>> So far we have found that at some point there appears second classloader,
>> which initializes some singleton classes second time, and after that the
>> parallel build continues with two separate singletons. One set of build
>> tasks still uses the first singleton, other set of build tasks uses the
>> second singleton, and that, just as expected, causes a lot of pain later.
>>
> What do you mean with "build tasks" ? A maven plugin ?
> If yes that's normal each plugin have his own classloader.
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@maven.**apache.org<[email protected]>
> For additional commands, e-mail: [email protected]
>
>

Reply via email to