jshell相关内容
我已将所有jar文件存储到特定文件夹中,并且已将特定文件夹添加到Jshell类路径中.添加类路径后,我无法在jshell中导入软件包. 如果我在类路径中提到了所有的jar文件名,那就很好.我不想在类路径中提到所有的Jar文件名,因为我必须在类路径中添加上千个jar文件. 如何为Jshell classpath配置特定文件夹? 解决方案 在jshell中声明类路径的路径.
..
根据文档 还有一个在启动时加载脚本的选项,包括一些特殊的预定义选项.这些是使用–startup标志指定的,传递的是文件名或以下之一: DEFAULT –加载默认行为.就像完全没有指定一样 JAVASE –默认情况下导入所有Java SE软件包 打印–定义要使用的功能print,println和printf 但是,当我使用DEFAULT,JAVASE或PRINTING选
..
我没有找到任何命令来清除Java-9 JShell控制台.我还尝试通过该程序清除JShell控制台,但是它也不起作用. import java.io.IOException; class CLS { public static void main(String... arg) throws IOException, InterruptedException { ne
..
我正在发现JShell,并且发现了默认情况下添加的导入: jshell> /imports | import java.io.* | import java.math.* | import java.net.* | import java.nio.file.* | import java.util.* | import java.util.concurre
..
根据jshell中/set反馈的文档,有以下内置模式: verbose, normal, concise, and silent 是否可以创建具有简洁和静音功能的反馈模式?或者我们可以更改以上任何一种模式? 还是我们可以创建自己的自定义反馈模式? 解决方案 您可以使用以下命令创建自己的自定义反馈模式: /set mode -command|
..
问题: 如何在 jshell脚本中接受用户输入?还是我做错了什么? 注意:我不正在寻找示例: 例如脚本hello.java: Scanner in = new Scanner(System.in); System.out.print("Enter number n1: "); int n1 = in.nextInt(); System.out.print("Enter n
..
为什么我的jshell实例(JDK版本9-ea)无法识别printf()语句?以下是我观察到的错误, jshell> printf("Print number one - %d",1) | Error: | cannot find symbol | symbol: method printf(java.lang.String,int) | printf("Print numb
..
我正在尝试通过使用在当前设置下,我有一个名为 lib 的目录,该目录具有MySQL Java驱动程序: mysql-connector-java-5.1.35.jar . 通过命令工具启动JShell并添加所需的模块为: jshell --module-path lib --add-modules mysql.connector.java 然后加载mysql驱动程序对我有用:
..
似乎在另一个JShell中创建的JShell对象无权访问父级的JShell范围.例如: jshell> int x = 1; x ==> 1 jshell> x x ==> 1 jshell> jdk.jshell.JShell js = jdk.jshell.JShell.create(); js ==> jdk.jshell.JShell@1a052a00 jshell> js.e
..
有没有可用的命令可以打印当前jshell会话中所有新创建的方法? 类似于/list,但仅适用于方法 解决方案 您正在寻找命令 /methods -all 打印所有方法,包括启动JShell时添加的方法,以及失败,被覆盖或删除的方法. 对于您声明的活动方法,请仅使用它而无需使用任何参数: /methods
..
我经历了一些有关JShell的教程,但我仍然不明白最重要的部分:为什么我什至还要使用JShell? 这是Oracle所说的: “您可以测试单个语句,尝试使用不同的变体形式 方法,并在JShell中试验不熟悉的API 会话". 是的,很好,但是对于所有这些事情,我都可以使用IDE.我确实知道,REPL应该使代码评估更快.但是,使用Sysout在虚拟Hello World项目中的ID
..
我正在研究一个将两个类的引用相互存储的问题 例如: class A { B b; A(B b){ this.b = b;} } class B { A a; B(A a){ this.a = a;} } public static void main(String...s){ A a = new A(new B(null)); a.b.a = a; } 现在,如果我使用下面的语
..
只需探索Java的新版本,其新的模块系统,以及jshell.也许我的问题没有太多道理,但我很好奇. 所以我想到了一个问题:有什么方法可以在jshell中创建模块?还是只能在module-info.java中创建模块? 解决方案 当前无法使用JShell创建模块,并且它不是 JShell的目标. JShell功能 JShell API将提供JShell的所有评估功能. 输入
..
问题 我愿意将参数传递给jshell脚本.例如,我会喜欢这样的东西: jshell myscript.jsh "some text" ,然后在脚本中的某些变量中提供字符串"some text". 但是,jshell只需要一个文件列表,因此答案是: File 'some text' for 'jshell' is not found. 有什么方法可以正确地将参数传递给
..
从帮助信息中: -J Pass directly to the runtime system. Use one -J for each runtime flag or flag argument -R Pass to the remote run
..
假设我在jshell中这样做: jshell> void printIsEven(int i) { ...> System.out.println(i % 2 == 0); ...> } | created method printIsEven(int) jshell> List l = Arrays.asList(7,5,4,8,5,9); l =
..
我想使用JShell运行整个文件,例如: $ jshell my-jshell-skript.java 例如我的my-jshell-skript.java的内容是40 + 2;. 或可执行文件,例如: #!/usr/bin/jshell 40 + 2 现在有可能吗?还是我仍然需要沿用Java-Main-Class的旧方法? 编辑1:Windows问题 在Win
..
我尝试安装JDK 9 Early Access版本172来与JShell一起玩. 当我尝试打开一个简单的Java文件并在将其添加为代码段后执行它时,它只是显示了修改后的类Test并增加了代码段数.您能帮我弄清楚我出了什么问题吗? | Welcome to JShell -- Version 9-ea | For an introduction type: /help intro jsh
..
在第33行中重新声明Integer'a'时,为什么jshell将引用变量显示为Integer的实例(请参阅第38和39行)?重新声明后,第34行显示'a'设置为null.当在第6行中声明"a"但未赋予值,或在第22行中将其重置为null时,"a"不被视为Integer的实例.我希望当引用变量被重新声明时,由于其值为null,因此它不会是类型的实例;但是,事实并非如此. 01: java-la
..
我想使用Expect重定向jshell输入,以便可以在录制的演示中模拟打字.但是,尽管我可以从Expect脚本中生成jshell进程,该脚本也可以识别jshell提示,但此后没有任何效果.期望输出看起来像一个控制序列,如^[[24;9R,但我看不到jshell的任何输出.不同的终端类型产生不同的字符序列,但是它们都不起作用.此行为在Ubuntu和Mac OS上的Expect之间是一致的.任何有关如
..