Is it possible to add classes to JPMS module dynamically?

2020-06-04 Thread Alex Orlov

Hi all,
 
Let's suppose we have a JPMS module  moduleA with the following  module-info :
module moduleA {
exports modulea.generated;
}
Now, using javassist/byte-buddy we generate new  modulea.generated.Foo class. 
Could anyone say if we can add this class to  moduleA dynamically (at runtime) 
so as JPMS work with it as it works with module existing classes?
 
 
--
Alex Orlov

Re: Is it possible to add classes to JPMS module dynamically?

2020-06-04 Thread Alan Bateman

On 04/06/2020 13:34, Alex Orlov wrote:

Hi all,
  
Let's suppose we have a JPMS module  moduleA with the following  module-info :

module moduleA {
 exports modulea.generated;
}
Now, using javassist/byte-buddy we generate new  modulea.generated.Foo class. 
Could anyone say if we can add this class to  moduleA dynamically (at runtime) 
so as JPMS work with it as it works with module existing classes?
Yes, if you use Lookup.defineClass or some other means to define a class 
into one of moduleA's run-time packages then it be in moduleA.


-Alan.


Re: Is it possible to add classes to JPMS module dynamically?

2020-06-04 Thread Remi Forax
- Mail original -
> De: "Alex Sviridov" 
> À: "jigsaw-dev" 
> Envoyé: Jeudi 4 Juin 2020 14:34:08
> Objet: Is it possible to add classes to JPMS module dynamically?

> Hi all,

Hi Alex,

> 
> Let's suppose we have a JPMS module  moduleA with the following  module-info :
> module moduleA {
>exports modulea.generated;
> }
> Now, using javassist/byte-buddy we generate new  modulea.generated.Foo class.
> Could anyone say if we can add this class to  moduleA dynamically (at runtime)
> so as JPMS work with it as it works with module existing classes ?

It will be added automatically, a module only contains packages (exported or 
not) so any classes in those packages (generated at runtime or not) are part of 
the module automatically.

> 
> 
> --
> Alex Orlov

cheers,
Rémi