diff --git a/src/main/java/dev/jbang/source/generators/JshCmdGenerator.java b/src/main/java/dev/jbang/source/generators/JshCmdGenerator.java index 66b1beddc..290f0c6dc 100644 --- a/src/main/java/dev/jbang/source/generators/JshCmdGenerator.java +++ b/src/main/java/dev/jbang/source/generators/JshCmdGenerator.java @@ -44,8 +44,10 @@ protected List generateCommandLineList() throws IOException { List optionalArgs = new ArrayList<>(); String requestedJavaVersion = getProject().getJavaVersion(); - String javacmd; - javacmd = JavaUtil.resolveInJavaHome("jshell", requestedJavaVersion); + if (requestedJavaVersion == null) { + requestedJavaVersion = "9+"; + } + String jshcmd = JavaUtil.resolveInJavaHome("jshell", requestedJavaVersion); // NB: See https://github.com/jbangdev/jbang/issues/992 for the reasons why we // use the -J flags below @@ -91,7 +93,7 @@ protected List generateCommandLineList() throws IOException { Util.warnMsg("Java Flight Recording not possible when running via jshell."); } - fullArgs.add(javacmd); + fullArgs.add(jshcmd); addAgentsArgs(fullArgs); fullArgs.addAll(jshellOpts(project.getRuntimeOptions())); diff --git a/src/test/java/dev/jbang/cli/TestRun.java b/src/test/java/dev/jbang/cli/TestRun.java index 00e94ab41..960685ca1 100644 --- a/src/test/java/dev/jbang/cli/TestRun.java +++ b/src/test/java/dev/jbang/cli/TestRun.java @@ -572,7 +572,7 @@ void testHelloWorldShellNoExit() throws IOException { String result = prj.cmdGenerator().generate(); - assertThat(result, startsWith("jshell")); + assertThat(result, matchesPattern("^.*jshell(.exe)?.*")); assertThat(result, not(containsString(" "))); assertThat(result, containsString("helloworld.jsh")); assertThat(result, not(containsString("--source 11"))); @@ -662,7 +662,7 @@ void testDependenciesInteractive() throws IOException { String result = prj.cmdGenerator().generate(); - assertThat(result, startsWith("jshell ")); + assertThat(result, matchesPattern("^.*jshell(.exe)?.*")); assertThat(result, (containsString("classpath_example.java"))); // assertThat(result, containsString(" --source 11 ")); assertThat(result, not(containsString(" ")));