clojure - 从 Github 导入包的问题
问题描述
在我开始之前,你可能需要知道三件事:
- 我没有 Java 背景
- 我是 Clojure 新手 - 开始学习它
- 问题与我的“培训”包kennyfy 有关
TL;DR 版本我无法在项目中导入/使用我的培训包
更长的版本
我给自己设定了一个目标——编写简单的 API,将文本转换为 kennyspeak。在此之前,我创建了一个包(使用默认的 lein 模板)。
我试图将此包导入我的 API。
部分project.clj
看起来像这样:
:repositories [["jitpack" "https://jitpack.io"]]
:dependencies [[com.github.radmen/clojure-kennyfy "0.1.2"]]
lein deps
毫无问题地获取包裹。
当我尝试使用它时,Clojure 失败并显示以下消息:
kennyfy-api.core=> (radmen.kennyfy/kenny-speak "foo")
ClassNotFoundException radmen.kennyfy java.net.URLClassLoader.findClass (URLClassLoader.java:382)
我理解错误,但我不知道为什么不导入这个类。
我很确定,这可能与存储在包中的元数据有关,导致导入失败。
我究竟做错了什么?
谢谢
$ java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (build 1.8.0_192-b26)
OpenJDK 64-Bit Server VM (build 25.192-b26, mixed mode)
$ lein version
Leiningen 2.8.3 on Java 1.8.0_192 OpenJDK 64-Bit Server VM
Clojure 1.9.0
解决方案
clojure 命名空间在第一次需要时被加载。
foo.core=> (radmen.kennyfy/kenny-speak "foo")
Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (URLClassLoader.java:382).
radmen.kennyfy
foo.core=> (require '[radmen.kennyfy :as kennyfy])
nil
foo.core=> (kennyfy/kenny-speak "foo")
"mpfppfppf"
foo.core=> (radmen.kennyfy/kenny-speak "foo")
"mpfppfppf"
foo.core=>
推荐阅读
- java - 我正在尝试创建程序来加密和解密文件 | 爪哇
- c++ - 如何在 Qt 中保存图像而无需手动添加 .jpeg 或 .png 扩展名?
- apache-spark - 在 pyspark 数据框中找到相似的变量值
- c# - Visual Studio IntelliSense 无法正常工作
- python - 如何重现 statsmodels ARIMA 过滤器?
- typescript - TypeScript 中的“as const”是什么意思,它的用例是什么?
- javascript - 如何修复跨度形式的正确值?
- c# - 如何获取 UITabBarController 的 ViewControllers 的 SafeAreaLayoutGuide?
- javascript - Django 动态表单集添加按钮不起作用
- python - discord.py 你如何忽略错误并继续前进