将 3rd 方 Java 库(例如 com.jcraft.jsch)与 clojure 结合使用

2024-02-14

我正在尝试clojure http://www.clojure.org我正在尝试了解如何使用第三方库。我已经能够下载一些源代码,使用 leiningen 将其捆绑到 jar 文件中,将其放入我的类路径中并在我的脚本中(使用“lib.etc”)。我还尝试过 java.lang.* 中的对象。

不过,我在 3rd party java 方面还没有取得任何成功。

$ java -cp clojure.jar:clojure-contrib.jar:com.jcraft.jsch_0.1.31.jar clojure.main
Clojure 1.1.0
user=> (require 'com.jcraft.jsch)
java.io.FileNotFoundException: Could not locate com/jcraft/jsch__init.class or com/jcraft/jsch.clj on classpath:  (NO_SOURCE_FILE:0)

$ jar tf com.jcraft.jsch_0.1.31.jar | egrep "(init|clj)"
$

看起来必须创建 __init.class 或 .clj 文件。这是真的,还是有一些替代方法来加载纯java类?


对于java类使用import:

(import java.util.ArrayList)

;// or use a prefix for multiple classes:
(import [java.util ArrayList Collection])

;// or preferably in the ns declaration:
(ns my.lib
  [:import [java.util ArrayList Collection]])

user=> (def al (ArrayList.))
#'user/al
user=> (.add al "hi")
true
user=> (.size al)
1

请注意,包名和类名不需要加引号,因为import是一个宏。

也没有等同于import java.util.*;您需要指定要导入哪些类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 3rd 方 Java 库(例如 com.jcraft.jsch)与 clojure 结合使用 的相关文章

随机推荐

  • 如何仅使用单个 bean 并使用包含的resilience4j注释来运行SpringBootTest

    我想在 Spring Boot 应用程序中运行带有resilience4j 注释方法的单个 bean 的集成测试 我的目的是在不加载完整的 spring 上下文的情况下测试 bean 方法调用的弹性 设置如下 依赖项包括以下内容 io gi
  • std::set::equal_range 的用途是什么?

    Since std set不能包含重复元素并且始终已排序 std set equal range将始终返回没有元素或没有 1 个元素的范围 从技术上讲 是的 这仍然是range 但是这个算法的目的是什么 为了std set这似乎很没有必要
  • PKCS 11 中的 CKA_SENSITIVE 属性意味着什么?

    我正在阅读 PKCS 11 文档 但我无法清楚地理解密钥的 CKA SENSITIVE 属性意味着什么 更常见的是 我在哪里可以阅读属性描述 引用自PKCS 11 规范 v2 20 ftp ftp rsasecurity com pub p
  • 该类型和函数是否有现有名称?

    计算机科学中有两个难题 缓存失效 命名和差一错误 这是关于第二个问题 命名事物 我正在寻找这种技术或类型是否已经在其他地方使用过并且有一个名称 dichotomy是一个不错的名字 但是bools at compile time是一个可怕的
  • Curl 设置 Content-Type 不正确

    我正在命令行上运行curl 操作 但在强制将标头设置为XML 时遇到问题 我使用 H 选项强制 Content Type 为 xml 但是 一旦运行命令 我可以看到标头以 urlencoded 形式发送 这污染了我发送的数据值之一 有人可以
  • 交叉编译 GDB 时出现 Python 丢失或不可用错误

    我在尝试交叉编译 GDB 时收到此错误 使用 with python flag checking for python usr bin python checking for python2 7 no configure error pyt
  • 字节码是否被视为 JVM 的指令集?

    我正在读关于instruction set in wiki http en wikipedia org wiki Instruction set我看到了这一段 一些支持字节码作为 ISA 的虚拟机 例如 Smalltalk Java 虚拟机
  • ChannelOption.SO_BACKLOG 的作用是什么?

    option ChannelOption SO BACKLOG 100 Netty 4 升级文档中显示 你能解释一下它的作用吗 Thanks 它是一个传递的套接字选项 用于确定排队的连接数 http docs oracle com java
  • 在 C# 中去除 wav 标头

    我希望能够从 wav 文件中去掉标题 在 C 中有什么办法可以做到这一点吗 WAV 文件使用标准 RIFF 标头格式 看例子在这里 http www codeproject com KB files riffparser aspx 您可以使
  • CoreData 查询帮助

    我正在寻找在 CoreData 中编写一些基本查询的方法 但文档中没有示例 以下是我的查询 我有一个费用对象 它有一个费用金额字段 费用可以链接到 ExpenseCategory 对象 ExpenseCategory 可能仅定义费用类别 例
  • 我们可以使用 nlmrt 包中的 nlxb 进行预测吗?

    我问这个问题是因为我不明白为什么nlxb拟合函数不能与 Predict 函数一起使用 我一直在寻找解决这个问题的方法 但到目前为止还没有运气 I use dplyr对数据进行分组并使用do适合每个组使用nlxb from nlmrt包裹 这
  • 三.js:纹理到数据纹理

    我正在尝试在 JavaScript 中实现延迟网络摄像头查看器 使用 Three js 实现 WebGL 功能 我需要存储从网络摄像头抓取的帧 以便在一段时间 几毫秒到几秒 后显示它们 我可以在没有 Three js 的情况下使用canva
  • 适用于所有 x64 平台的 gcc 通用 March

    海湾合作委员会有 march and mtune如上所述的选项here http gcc gnu org onlinedocs gcc i386 and x86 002d64 Options html 但选择哪个选项并不明显x64平台作为通
  • Docker:无法建立连接,因为目标机器主动拒绝

    此处显示错误 https i stack imgur com fe1lz png我尝试了很多方法 例如重新安装 Docker 更改 DNS 服务器 重新启动 Windows 但没有任何效果 无法在本地 docker 中找到图像 hello
  • 如何将 Base64 字符串转换为图像,然后将其绑定到 Metro 风格应用程序中的 GridView?

    我从 Web 服务收集了产品 我在网格视图中预览该产品 但我以 Base64 字符串形式获取产品图像 如何将其转换为图像并将其绑定到网格视图中的图像 任何对我解决这个问题有帮助的代码 这似乎对我有用 public static Bitmap
  • Facebook iFrame 应用程序 - 如何使用 PHP SDK 获取 Preload FQL 结果?

    几年来我有一个 FBML 应用程序 一个小的Flash游戏 http apps facebook com video preferans 我现在正在尝试将其转换为 iFrame 应用程序 不幸的是 目前还没有太多关于 Facebook iF
  • C# 泛型类型约束

    这不应该是有效的 C 代码吗 class A
  • 如何统计coredata(聚合)?

    我正在学习核心数据 特别是聚合 目前我想做的事 计算表中在某些条件下具有逆向关系的多对关系的记录数 目前我正在这样做 NSExpression ex NSExpression expressionForFunction count argu
  • 如何检查电子邮件地址是否已在使用 Firebase

    正在研究一些FirAuth的事情 但由于某种原因 我不知道如何检查用户建议的电子邮件地址是否已被占用 我试过打电话 fetchProvidersForEmail正如不久前其他问题中所建议的那样 但无论出于何种原因 它都行不通 另外 我对完成
  • 将 3rd 方 Java 库(例如 com.jcraft.jsch)与 clojure 结合使用

    我正在尝试clojure http www clojure org我正在尝试了解如何使用第三方库 我已经能够下载一些源代码 使用 leiningen 将其捆绑到 jar 文件中 将其放入我的类路径中并在我的脚本中 使用 lib etc 我还