suggested document enhancement

Alan Bateman Alan.Bateman at oracle.com
Fri Mar 2 10:59:14 UTC 2018


On 02/03/2018 09:22, Bernard Amade wrote:
> Hello all
> since my job is to write java tutorials I have to confess I am lost on some topics about the module system.
> Here is a first concern:
> - I used to teach to deploy resources in an additional jar at deploy time
> - so if a code requesting a resource was in package/directory com.mycomp.biz then the resource was in a com.mycomp.biz.config directory ... in a different jar which could be written by the "deployment programmer".
>
> with the module system I do not know how to have something similar.
> Well may be the resource could be in a non-modular jar in the class-path (or added by patch-module)
> but realy I don't know what could be the best option (put it in a modular jar? but then how to write the module-info, how to update the module-info of other modules - something done by the deployment programmer- ? how to start the jar: from the command line? but then can we still have a "clickable" jar?
>
Resources aren't a first class concept in the module system so we of 
course recommend using services itself.

If you are migrating existing code without doing any significant 
rearchitecture then modules can open packages to allow resources be 
located by code in other modules with the legacy 
ClassLoader.getResourceXXX APIs. There is also support in the 
ResourceBundle API to use resource bundles in other modules.

The Quick Start Guide is indeed a bit minimal. To learn more then the 
presentations and recording from several conferences are linked from the 
Project Jigsaw page and may be useful to you. In addition, there are a 
number of books on the topic. In particular, "Java 9 Modularity", by 
Sander Mak and Paul Bakker, is an excellent resource that will stand the 
test of time. That book has a section entitled "Resource Encapsulation" 
that should help you get going.

I assume by "clickable jar" you mean executable JARs, as in `java -jar 
app.jar`. There is no support at this time for starting modular 
applications with the `java -jar`.

-Alan


More information about the jigsaw-dev mailing list