Attach a clojure / scala repl to a running JVM
2022-09-01 15:52:27
我有一个java Web应用程序在Sun java 6 JVM的tomcat下运行。有没有办法将 scala 或 clojure REPL 附加到正在运行的 JVM 上?
Web 应用启动并运行后,将在正在运行的 VM 中设置要在其中进行调用的上下文。因此,这在调用任意java方法调用以进行增量,探索性开发和调试时非常有用。
我有一个java Web应用程序在Sun java 6 JVM的tomcat下运行。有没有办法将 scala 或 clojure REPL 附加到正在运行的 JVM 上?
Web 应用启动并运行后,将在正在运行的 VM 中设置要在其中进行调用的上下文。因此,这在调用任意java方法调用以进行增量,探索性开发和调试时非常有用。
根据您的要求复制其他问题的答案:
liverepl:将Clojure REPL连接到运行Java或Clojure进程,无需任何特殊设置
从网站:启动连接到任何正在运行的Java或Clojure进程的Clojure REPL,而无需事先以任何特殊方式设置该进程。现在支持连接到 Tomcat Web 应用程序。您可以使用 repl 来运行代码、检查变量和重新定义 Clojure 函数。
没有办法将REPL附加到已经运行的JVM,所以你需要向后考虑这个问题......
在服务器上启动REPL,无论是在程序启动时还是在响应入站客户端连接(例如使用Telnet)时。
这里有一个很好的例子:http://blog.homecloud.ca/2010/03/scripster-interactive-scala-repl-using.html
您还可以在服务器中托管解释器实例,然后公开 Web 界面。这是 http://www.simplyscala.com/
如果你正在考虑调试,那么这个答案会更好地为你服务:在任意 scala 代码位置放入解释器