On 05/03/2018 10:43, Bernard Amade wrote:
thanks for your help

just curious about this internal information:

---------------------------------------------------
"ModuleMainClass" attribute. Note that this is a class file attribute, not an 
attribute that you put in the main manifest of a JAR file. The `jar` tool will add both 
when you specify the main class with `--main-class` or `-e`.
  The app module must have a ModuleMainClass class file attribute, something 
the `jar` tool will do for you
----------------------------------
where does this "ModuleMainClass" attribute lies internally?
(I've tried to decompile almost every file but have not found it)
It's an attribute in the module-info.class. You can use `javap` to see all the details if you want, e.g.
  javap --module-path app.jar -m app -v module-info

The `jar` tool might be easier for your audience, e.g.
  jar --file=app.jar --describe-module


:

PS: if I understand things correctly the reason for not having an autonomous 
jar (like in java -jar) is that
starting a modular application from jars needs a lot of specific command-line 
options ....
Do we really have to stick to shell scripts to start an app? (when we do not go 
for a jlink generated image)
If the initial module is not in the run-time image then you have to specify the module path so that the module can be found. Re-purposing `java -jar` was discussed here but for the initial release at least, `java -jar ...` will put the JAR file on the class path as it has always done. It's also related to the #MultiModuleExecutableJARs issue where there is interest in packaging an initial module, along transitive dependences, in a single JAR file. So I expect this area will be revisited at some point.

-Alan

Reply via email to