[英]Attach a clojure / scala repl to a running JVM
我有一個在Sun java 6 JVM中在tomcat下運行的java Web應用程序。 有沒有辦法將scala或clojure REPL附加到正在運行的JVM?
一旦webapp啟動並運行,就會在正在運行的VM中設置要進行調用的上下文。 因此,這對於調用增量,探索性開發和調試的任意java方法調用非常有用。
根據您的要求復制其他問題的答案:
liverepl:將Clojure REPL連接到正在運行的Java或Clojure流程,無需任何特殊設置
從網站: 啟動連接到任何正在運行的Java或Clojure流程的Clojure REPL,無需事先以任何特殊方式設置流程。 現在支持連接到Tomcat Web應用程序。 您可以使用repl運行代碼,檢查變量並重新定義Clojure函數。
沒有辦法將REPL附加到已經運行的JVM上,所以你需要向后思考這個問題......
在程序啟動時或在響應入站客戶端連接時(使用例如Telnet)啟動服務器上的REPL。
這里有一個很好的例子: http : //blog.homecloud.ca/2010/03/scripster-interactive-scala-repl-using.html
您還可以在服務器中托管Interpreter實例,然后公開Web界面。 這是http://www.simplyscala.com/采取的方法
如果您正在考慮調試,那么您可以通過以下答案獲得更好的服務: 在任意scala代碼位置放入解釋器
你可以使用這個: https : //github.com/wirde/swank-inject
允許您將Clojure repl附加到正在運行的java進程(啟用遠程調試)。
您還可以指定一些類(單例),這些類將找到實例並綁定到repl中可用的符號。
對於連接到其他JVM的Scala REPL,請查看Scalive 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.