可以使用Java 9 jshell在另一个JVM中运行代码吗?

Rob*_*b N 10 java java-9 jshell

Java 9有一个Java的read-eval-print循环,叫做jshell.我从命令行看到它的基本模式.它还能用于远程过程吗?换句话说,我可以连接到另一个Java进程并输入代码片段以在该运行时内运行吗?这将是改变应用程序服务器配置状态,而无需编写与UI的管理工具的好方法.

Spe*_*ava 7

简单的答案是否定的,没有办法将jshell附加到正在运行的Java进程.jshell是一个独立的应用程序,可以在自己的JVM中运行.


Raf*_*ter 6

没有官方的方式这样做.

然而,重新绑定代码并通过Java代理在另一个VM上运行它并不困难.然而,这不会像你期望的那样工作,因为不清楚shell应该使用什么类加载器以及它应该如何与正在运行的程序交互.