【问题标题】:Clojure pedestal.io code is not resolved in IntelliJClojure pedestal.io 代码在 IntelliJ 中未解析
【发布时间】:2018-12-10 07:14:03
【问题描述】:

我有一个 Clojure 和 Pedestal 的小应用程序,是从 pedestal.io 教程中获取的。它在终端中运行良好。当我在 IntelliJ 中打开它时,会出现一些“无法解决”的提示。一些代码部分变成了米色背景。

我安装了 Cursive 插件。代码由boot repl 执行。有什么方法可以通过 IntelliJ 解析完整代码?如果有,有哪些设置?

更新

“索引 Maven 存储库”字段

【问题讨论】:

  • AFAIK 确实 Cursive 只支持最后三个主要版本(我找不到源,但我在使用 '14 时在 IRC 中询问了作者)。
  • 看起来甚至 clojure.core 符号都没有得到解决(请参阅 sn-p 中的 ns 和 defn) - 我认为您的问题比基座符号更普遍

标签: clojure intellij-13 boot-clj cursive pedestal


【解决方案1】:

检查您的设置以确保 Clojars 和 Maven 存储库均已编入索引:

导航到:

File
-> Settings
   -> Build, Execution, Deployment 
      -> Build Tools
         -> Maven
            -> Repositories

并确保它看起来像上图。如有必要,突出显示 Maven 和 Clojars 存储库并单击“更新”,然后单击“确定”(您无需等待它完成,因为它是一个后台进程)。


另外,这样做通常很有帮助

File 
  -> Invalidate Caches / Restart

那么它会正确解析:


更新 #2

好的,我看到你有一个boot 项目。我有一个lein 项目,并且 Cursive 自动填充了我的列表(我假设来自project.clj)。两种前进方式:

  1. 在文档、SO 和 Cursive 邮件列表中搜索 boot 信息。草书作者对on the mailing list的项目非常敏感:

  2. 如果上述方法不起作用,也许将其转换为 lein 项目只是为了让 Cursive/IntelliJ 开心。您仍然可以从命令行将其作为boot 项目运行(或者您通常使用引导)。

有关更多信息,另请参阅此问题:IntelliJ IDEA: "Indexed Maven Repositories" list - how to add remote maven repository in this list?

和参考:http://maven.apache.org/settings.html#Repositories


更新 #3:

好的,刚刚找到这个boot草书信息,看起来不错:https://github.com/boot-clj/boot/wiki/For-Cursive-Users

【讨论】:

  • 感谢您的回答,但您在第一张图片中显示的“Indexed Maven Repositories”字段是空的。我在问题更新的屏幕截图中显示它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 2015-09-09
  • 2020-07-03
  • 2022-12-15
相关资源
最近更新 更多