You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "M. Eric DeFazio (JIRA)" <ji...@apache.org> on 2018/08/11 18:31:00 UTC

[jira] [Created] (NETBEANS-1131) "Execute Java Shell" fails when in a non-modular project

M. Eric DeFazio created NETBEANS-1131:
-----------------------------------------

             Summary: "Execute Java Shell" fails when in a non-modular project
                 Key: NETBEANS-1131
                 URL: https://issues.apache.org/jira/browse/NETBEANS-1131
             Project: NetBeans
          Issue Type: Bug
          Components: apisupport - Project
    Affects Versions: 9.0
         Environment: Product Version: Apache NetBeans IDE 9.0 (Build incubator-netbeans-release-334-on-20180708)
Java: 10.0.2; Java HotSpot(TM) 64-Bit Server VM 10.0.2+13
Runtime: Java(TM) SE Runtime Environment 10.0.2+13
System: Windows 10 version 10.0 running on amd64; Cp1252; en_US (nb)
User directory: C:\Users\Eric\AppData\Roaming\NetBeans\9.0
Cache directory: C:\Users\Eric\AppData\Local\NetBeans\Cache\9.0
            Reporter: M. Eric DeFazio
         Attachments: NetbeansShellError.png

I can use the "Execute Java Shell" option when right clicking on a Module Project

BUT, when I have another project that depends on the Modular project, if I try the "Execute Java Shell" option I get the following failure:

{{Could not initialize JShell: Launching JShell execution engine threw: Failed remote launch: java.util.concurrent.ExecutionException: com.sun.jdi.connect.VMStartException: VM initialization failed for: C:\Program Files\Java\jdk-10.0.2\bin\java -classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes -Xdebug -Xrunjdwp:transport=dt_shmem,address=javadebug2032,suspend=y org.netbeans.lib.jshell.agent.AgentWorker 63903 @ com.sun.jdi.CommandLineLaunch (defaults: home=C:\Program Files\Java\jdk-10.0.2, options=, main=, suspend=true, quote=", vmexec=java) -- \{home=home=C:\Program Files\Java\jdk-10.0.2, options=options=-classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes, main=main=org.netbeans.lib.jshell.agent.AgentWorker 63903, suspend=suspend=true, quote=quote=", vmexec=vmexec=java}}}
{{| caused by: Failed remote launch: java.util.concurrent.ExecutionException: com.sun.jdi.connect.VMStartException: VM initialization failed for: C:\Program Files\Java\jdk-10.0.2\bin\java -classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes -Xdebug -Xrunjdwp:transport=dt_shmem,address=javadebug2032,suspend=y org.netbeans.lib.jshell.agent.AgentWorker 63903 @ com.sun.jdi.CommandLineLaunch (defaults: home=C:\Program Files\Java\jdk-10.0.2, options=, main=, suspend=true, quote=", vmexec=java) -- \{home=home=C:\Program Files\Java\jdk-10.0.2, options=options=-classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes, main=main=org.netbeans.lib.jshell.agent.AgentWorker 63903, suspend=suspend=true, quote=quote=", vmexec=vmexec=java}}}
{{| caused by: com.sun.jdi.connect.VMStartException: VM initialization failed for: C:\Program Files\Java\jdk-10.0.2\bin\java -classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes -Xdebug -Xrunjdwp:transport=dt_shmem,address=javadebug2032,suspend=y org.netbeans.lib.jshell.agent.AgentWorker 63903}}
{{| caused by: VM initialization failed for: C:\Program Files\Java\jdk-10.0.2\bin\java -classpath C:\Users\Eric\Downloads\incubating-netbeans-java-9.0-bin\netbeans\java\modules\ext\nb-mod-jshell-probe.jar;C:\Users\Eric\Documents\NetBeansProjects\ModProj\dist\M.jar;C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes --add-modules M,jdk.jshell --add-reads jdk.jshell=ALL-UNNAMED --module-path C:\Users\Eric\Documents\NetBeansProjects\Java10App\build\classes -Xdebug -Xrunjdwp:transport=dt_shmem,address=javadebug2032,suspend=y org.netbeans.lib.jshell.agent.AgentWorker 63903}}

 

Some sanity checks:

BOTH projects are using the same JDK (JDK10)

I built/ created a jar for the Module project 

Included is a screenshot of what happens


Explanation of the screenshot:
 * the top JShell instance, was started by "Execute Java Shell" by right clicking on the Java10App (and it threw the stacktrace above)
 * the bottom JShell instance (Started from the ModProj project) was started by right clicking and "Execute Java Shell" works fine

To minimize extraneous issues, neither project has anything extra in the modulepath/classpath

there is only 1) module m in the ModProj project, and there is only 1) class m.AModClass

To reproduce: (my names are in ())

1) create a new "Java Modular Project" (ModProj) with Java9+VM
2) create a new Module (M) in the modular project
3) create a new (m) package
4) create a new class (AModClass) in the (m) package
5) update the "module-info.java" file to export the (m) package
6) right click on "Execute Java Shell" on the (ModProj) project... verify it starts, verify you can call the code (AModClass)
7) build the project

 

8) create a new Java Application (Java10App) with Java 9+ runtime
9) add a dependency to the existing Module (ModProj) 
10) add a class in the project (J10App) and verify it can access class (AModClass) in the module

{{package apackage;}}
{{import m.AModClass;}}
{{public class J10App {}}
{{    public static void main(String[] args){}}
{{        System.out.println( AModClass.aStaticMethod() );}}
{{    }}}
{{}}}

11) Right Click on the Java10App (project), select "Execute Java Shell"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists