dil*_*van 1 clojure intellij-idea ring cursive
我正在使用 Intellij + Cursive,我想调试使用 ring + compojure 编写的 Clojure Web 应用程序。我使用 lein 和 ring 插件在 Intellij 终端中启动应用程序:
> lein ring server-headless
Run Code Online (Sandbox Code Playgroud)
我想使用 Intellij 调试此应用程序以在源代码中设置断点、查看变量等。
但是 Intellij 的 Leiningen 选项卡没有显示带有 ring 命令的任务。运行配置也没有运行 ring 命令的选项。
的IntelliJ具有远程调试运行配置即可以使用Clojure使用。
首先在project.clj文件中的jvm中添加以下选项:
:jvm-opts ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5010"]
Run Code Online (Sandbox Code Playgroud)
其中 5010 是要在 Intellij 远程调试配置中指定的端口号。
然后,在 Intellij 中,转到Run -> Run... -> Edit Configurations...Use the + 按钮并选择Remote.Give a name to the configuration,将端口更改为 5010 并单击 OK。使用 lein 运行应用程序:
> lein ring server-headless
应用程序运行后,运行(在 Intellij 中)您创建的 Intellij 远程调试配置。您将能够设置断点、逐行运行等。
没有莱宁根
另一种选择是删除 leiningen 并将 ring 应用程序作为 Cursive 中的 Clojure 应用程序运行。你必须添加一个-main函数:
(defn -main [] (run-jetty app {:port 8080})
Run Code Online (Sandbox Code Playgroud)
app是您定义路由并用作环处理程序的函数:ring {:handler xxx/app},project.clj.您必须将[ring.adapter.jetty :refer [run-jetty]]Intellij 中的文件要求和调试为 Clojure 应用程序。
| 归档时间: |
|
| 查看次数: |
1873 次 |
| 最近记录: |