Starting a module with main class from a different module
Alan Bateman
Alan.Bateman at oracle.com
Thu Jan 25 15:11:51 UTC 2024
On 25/01/2024 12:34, Tomas Langer wrote:
> Is there a way to define a main class on a module if it comes from a
> different one?
>
> Currently we need to start the JVM as follows:
> *java –module-path ... --add-modules my.modular.application --module
> io.helidon.microprofile.cdi/io.helidon.microprofile.cdi.Main*
>
> What we do:
>
> * our microprofile implementation bootstraps a framework, that
> discovers its component using service loader, it also contains the
> Main class needed to start
> * the "my.modular.application" provides such components (such as an
> HTTP endpoint), but does not need a main class
>
>
> Ideally, I would like to run "my.modular.application" to have a
> simpler command line.
> I cannot do that, as the main class is from a different module (and I
> think that cannot be added to the module metadata).
> So I have to run the main class from the CDI module, and use
> `--add-modules`, as otherwise my application module would not end up
> on the module path (as it is not the "main" module started).
>
>
> Is there some way please to simplify this? Or do we need to create a
> Main class for each application, even if it would just delegate to the
> "cdi.Main"?
>
Is the application module discovered with service loader too? In that
case, the --add-modules shouldn't be needed, instead just make it
observable on the module path and service binding will ensure that it
resolved.
-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jigsaw-dev/attachments/20240125/6ad8cfd7/attachment-0001.htm>
More information about the jigsaw-dev
mailing list