Thanks Alex for the response, and clarifying the question further with your answer.
There a few issues reported as well, would you want to comment on them, should I put them on a separate thread for further discussions? Cheers, Mani On Wed, 20 Sep 2017 at 02:54 Alex Buckley <alex.buck...@oracle.com> wrote: > Hi Mani, > > On 9/19/2017 2:55 PM, Mani Sarkar wrote: > > Last month (19th August 2017) AJUG and a number of JUGs worldwide with > the > > help and support from vJUG, re-ran the "Become an early Java 9 expert" > > hackday. > > Thank you AJUG and vJUG! > > > You can find the feedback gathered in > http://bit.ly/J9HackDay-AJUG-feedback, > > we have been trailing JDK 9 EA b181 (RC1). > > A lot of feedback seems to boil down to "JDK command line tools are not > so easy to use; I want my IDE!". I don't mean to make light of people's > usability issues, but the module-related paths and flags in JDK 9 tools > tend to operate along similar lines as the paths and flags in JDK 8 > tools -- it's just that a lot of people haven't set ANY paths and flags > for a long time. > > I see there were some more open-ended questions and this one in > particular caught my attention: > > ----- > Do I need to convert a legacy Java program to use named modules in order > to take advantage of the smaller images that jlink can create? > > Mani: You will have to convert your applications to use Java 9’s modules > system in order to take advantage of JLink fully, although please play > around with older legacy apps to see what JLink produces (most likely > the whole JDK and not modularised pieces). > > Simon: create an empty module with module-info.java and handcraft the > dependencies using requires and have jlink compile it. This is > experimental, would need to be tested to see how it works. > ----- > > The direct answer to the question is "No, you do not need to convert a > legacy Java program to use named modules in order to take advantage of > the smaller images that jlink can create." > > The Java runtime that's present in even the smallest image (just > java.base) still lets you to put your pre-existing JAR files on the > classpath and run them with java -cp. You do not need to turn your JAR > files into named modules. Even as traditional JAR files, they have > access to all the APIs that you would expect from such an image. > (Obviously if your JAR files try to use Swing on an image built from > just java.base, that won't work.) The reduced footprint and security > surface of the smaller image is plainly an advantage from jlink. > > Alex > -- @theNeomatrix369 <http://twitter.com/theNeomatrix369>* | **Blog <http://neomatrix369.wordpress.com/>** | *@adoptopenjdk | Dev communities *Meet-a-Project - *MutabilityDetector <https://github.com/MutabilityDetector>* | **Bitbucket <https://bitbucket.org/neomatrix369>* * | **Github <https://github.com/neomatrix369>* * | **LinkedIn <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>* *Come to Devoxx UK 2018:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!*