Clojure Portal工具缺失Exception viewer等自定义查看器问题咨询
问题原因
你当前使用的Portal 0.15.1版本属于较早的开发版本,Exception viewer、class viewer这类扩展查看器当时还处于内部开发阶段,仅存在于源码的portal.ui.viewer命名空间下,并未正式打包进入官方发行的jar包中,所以你在依赖中无法找到对应模块,界面上也不会显示相关查看器选项。
解决方案
1. 升级Portal依赖版本
将deps.edn中djblue/portal的版本升级至0.16.0及以上的稳定版本即可,这类查看器从0.16.0版本开始已正式整合到Portal核心jar包中,无需额外引入其他依赖。示例配置如下:
:inspect/portal-cli {:extra-deps {djblue/portal {:mvn/version "0.47.0"} cheshire/cheshire {:mvn/version "5.10.0"} ; json clj-commons/clj-yaml {:mvn/version "0.7.0"} ; yaml }}
你现有的user.clj配置无需修改,保持原有内容即可。
2. 验证功能可用性
升级依赖后重启REPL与Portal实例,直接将异常对象传入tap>即可触发识别:
(tap> (try (/ 1 0) (catch Exception e e)))
此时点击Portal界面右上角的查看器下拉菜单,即可看到portal.viewer/ex选项,选中后就能以结构化格式查看堆栈跟踪信息。
内容的提问来源于stack exchange,提问作者Mert Nuhoglu
相关产品推荐
相关产品推荐

