JEP 311: Java Packager API & CLI (original) (raw)
victor.drozdov at oracle.com victor.drozdov at oracle.com
Fri Oct 20 19:38:57 UTC 2017
- Previous message: JEP 311: Java Packager API & CLI
- Next message: JEP 311: Java Packager API & CLI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/20/17 2:33 AM, Alan Bateman wrote:
On 20/10/2017 09:29, Michael Hall wrote: On Oct 20, 2017, at 1:51 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
On 19/10/2017 22:37, Michael Hall wrote: : Thanks. I couldn’t figure out how to use it with the current javapackager. It turned out I needed —add-modules, I’m new to modular concerns. This was for JShell. It also seemed that this needed a java executable in the bin directory. I added that manually and was able to use JShell from a OS X java 9 application.
I realize this is going off-topic but can you elaborate more on this. There should never be a need to copy binaries into the bin directory. The jdk.jshell module includes
jshell
launcher for example. I got a JShell JRE with —add-modules I initialize a JShell shell with… private static final JShell shell = JShell.create(); Without java in the bin directory the first time I try to use the shell with… List result = shell.eval(sb.toString()); for (SnippetEvent evt : result) { System.out.println(evt.value()); } I get… Someone more familiar with the packager would be in a better position to answer this. I suspect the issue is that packager is filtering out the java launcher as it expects the generated distribution to be only used to run one application. It doesn't know that adding jshell needs the java launcher. "bin" is filtered out by default because javapackager uses JNI to create JVM. There are args to include "bin" into the final app image. We may consider including "bin" by default or documenting this issue.
--Victor
-Alan
- Previous message: JEP 311: Java Packager API & CLI
- Next message: JEP 311: Java Packager API & CLI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]