从 Github 导入包时出现问题
Problems with importing package from Github
在我开始之前,您可能需要了解三件事:
- 我没有Java背景
- 我是 Clojure 新手 - 开始学习了
- 问题与我的 "training" 包裹有关 kennyfy
TL;DR 版本 我无法import/use 我的培训包在项目中
更长的版本
我为自己设定了一个目标 - 编写简单的 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)
我理解错误,但我不知道为什么这个 class 没有被导入。
我很确定,这可能与包中存储的元数据有关,导致导入失败。
我做错了什么?
谢谢
$ 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背景
- 我是 Clojure 新手 - 开始学习了
- 问题与我的 "training" 包裹有关 kennyfy
TL;DR 版本 我无法import/use 我的培训包在项目中
更长的版本
我为自己设定了一个目标 - 编写简单的 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)
我理解错误,但我不知道为什么这个 class 没有被导入。
我很确定,这可能与包中存储的元数据有关,导致导入失败。
我做错了什么?
谢谢
$ 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=>