Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将Clojure .clj编译成.class / .jar的简单工具

将Clojure .clj编译成.class / .jar的简单工具
EN

Stack Overflow用户
提问于 2013-02-17 14:13:25
回答 2查看 1K关注 0票数 4

我找到了两种将Clojure *.clj文件编译为*.class文件的方法,虽然它们都能工作,但我对这两种方法都有些不满。

第一个使用REPL,因此不能自动化(或者可以吗?)

第二个使用lein。坦率地说,我不明白为什么我应该使用依赖管理工具来处理应该成为语言核心工具链的部分内容。但是在任何情况下,如果您的Clojure代码需要访问本地jars (这很有可能),请使用lein 强制您使用本地Maven存储库。

是否有更好的方法从只涉及核心Clojure工具并且可以以脚本的、非交互的方式使用的Clojure代码生成*.class或*.jar文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-19 09:04:33

Clojure提供了clojure.core.Compile,可用于从命令行编译Clojure代码。

java -Dclojure.compile.path=<targetdir> -cp <targetdir>;clojure.jar <list of namespaces>

有关如何从ant中使用此操作的示例,请查看Clojure自己的compile-clojure文件中的build.xml任务。

票数 3
EN

Stack Overflow用户

发布于 2013-02-17 16:17:46

Clojure.core/编译可以通过Clojure实现自动化

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14926707

复制
相关文章
[1084]windows搭建clojure开发环境
关于clojure是什么东西就自行百度了,简单说就是用Lisp语言写的程序,编译成.class放在jvm上面跑,所以是需要jre的。独立的clojure可以从官方网站找到,目前稳定版本是1.8,官网https://clojure.org/index。下载后是一个zip,里面有个jar是clojure-1.8.0.jar,可以像常用的jar那样运行,这样会得到一个REPL交互环境,当然需要预先配置好jre(java8)。
周小董
2021/11/30
2.2K0
[1084]windows搭建clojure开发环境
(cljs/run-at (JSVM. :browser) "搭建刚好可用的开发环境!")
前言  书接上一回,在了解cljs基本语法后并在clojurescript.net的奇特错误提示后,我们必须痛定思痛地搭建一个本地的开发环境,以便后续深入地学习cljs。 现有的构建工具  由于浏览器仅能运行JS,而无法直接运行cljs,因此我们需要搭建一个预编译环境将cljs编译成JS后再在浏览器中运行。预编译无非就是JVM和Nodejs两个环境,但具体使用时有如下几种构建工具。 直接JVM编译 Lein方案 Boot方案 Lumo方案 Shadow-cljs方案 cljs/tool方案  其中Lein
^_^肥仔John
2018/01/18
9150
一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)
Storm的官方网址:http://storm.apache.org/index.html 1:集群部署的基本流程(基本套路): 集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装
别先生
2018/01/02
1.4K0
一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)
Clojure 运行原理之字节码生成篇
上一篇文章讲述了 Clojure 编译器工作的整体流程,主要涉及 LispReader 与 Compiler 这两个类,而且指出编译器并没有把 Clojure 转为相应的 Java 代码,而是直接使用 ASM 生成可运行在 JVM 中的 bytecode。本文将主要讨论 Clojure 编译成的 bytecode 如何实现动态运行时以及为什么 Clojure 程序启动慢,这会涉及到 JVM 的类加载机制。
飞驰的西瓜
2022/07/26
7430
Clojure 运行原理之字节码生成篇
将class文件打成jar包
如果真相是种伤害,请选择谎言。如果谎言是一种伤害,请选择沉默。如果沉默是一种伤害,请选择离开。——徐志摩 命令很简单,在class文件目录下执行: jar -cvf ruben.jar . 例如我这里执行后: 预览也能看到大致结构
阿超
2022/08/17
6050
将class文件打成jar包
Clojure和CloudStack
[原文由Sebastien Goasguen撰写]
Techeek
2018/01/11
1.1K0
.java编译成.class 与 .class反编译成.java
了解下这两个文件类型:.java文件是给人看的,.class是给计算机看的。程序员编写的是.java文件,经编译后生成.class文件给计算执行。
全栈程序员站长
2022/08/09
2.7K0
.java编译成.class 与 .class反编译成.java
处理Sprint Boot与Storm1.2.2日志实现的冲突,使用logback记录日志
通过mvn dependency:tree可以看到Sprint Boot Starter和Storm引入的日志记录框架不相同的,如下:
heasy3
2020/08/02
5210
聊聊storm的reportError
storm-2.0.0/storm-client/src/jvm/org/apache/storm/task/IErrorReporter.java
code4it
2018/11/20
8440
Clojure 学习入门(2)—— eclipse 插件
以前听说过LISP函数式编程,也听人说Erlang的牛逼,接触了Clojure才知道,原来Clojure就是JVM中的Erlang。网上基于Ubuntu环境下开发Clojure的资料太少,在这里整理总结,分享给大家。
阳光岛主
2019/02/18
1.1K0
Clojure 学习入门(2)—— eclipse 插件
如何发布jar到clojars
Clojars 是一个为开源 Clojure 类库打造的仓库,截止2017年9月17日,大概有19831个项目发布在上面。整个网站也是用 Clojure 编写的。
lambeta
2018/08/17
8640
如何发布jar到clojars
聊聊storm的reportError
storm-2.0.0/storm-client/src/jvm/org/apache/storm/task/IErrorReporter.java
code4it
2018/10/23
8730
聊聊storm的reportError
一名Clojurian的Emacs配置
我是一名热衷于函数式编程的Clojurian(Clojure粉),网络ID是lambeta(λβ),读作/‘læmeitə/,个人的博客网站是https://lambeta.com。俗话说,工欲善其事必先利其器,完善开发工具与我而言是一件愉快的事情,所以想把经验集结成文字,便有了这篇文章。这篇文章不会介绍太多花式或有深度的emacs配置,更多是摸索学习的过程,其中充满了乐趣。
lambeta
2018/08/17
2.8K0
ClojureScript魔法堂:搭建开发环境
一、前言                                 当看到Lisp等函数式编程语言的语法是 (say (concat "hello" "world")) 这样的时候,我就有种深入学习的冲动,因为它的语法和自己一直使用的Java、C#都不同,酷比了!(我承认我是语法控^_^)又由于我主要玩的是JavaScript,恰好ClojureScript就是纯函数式的JS超集,于是决定以ClojureScript作为函数式编程的起点。(虽然JavaScript具有函数式语言的特点:函数为一等公民,
^_^肥仔John
2018/01/18
1.2K0
Clojure 学习入门(9)—— 连接redis
project.cli 添加redis依赖: [clj-redis "0.0.12"]
阳光岛主
2019/02/18
7490
Clojure 学习入门(9)—— 连接redis
Java文件是怎么编译成Class文件的
其实就是我们前端的编译过程,是通过javac(编译器)把java文件变成.class字节码文件。
向着百万年薪努力的小赵
2022/12/02
1.4K0
Java文件是怎么编译成Class文件的
Twitter Storm: Maven配置
为了开发storm topology, 你需要把storm相关的jar包添加到classpath里面去: 要么手动添加所有相关的jar包, 要么使用maven来管理所有的依赖。storm的jar包发布在Clojars(一个maven库), 如果你使用maven的话,把下面的配置添加在你项目的pom.xml里面。
星哥玩云
2022/06/30
3560
Clojure Web 开发-- Ring 使用指南
在 Clojure 众多的 Web 框架中,Ring 以其简单统一的 HTTP 抽象模型脱颖而出。Ring 充分体现了函数式编程的思想——通过一系列函数的组合形成了一个易于理解、扩展的 HTTP 处理链。
飞驰的西瓜
2022/07/26
8840
Clojure Web 开发-- Ring 使用指南
Kafka的生产者和消费者代码解析
1:Kafka名词解释和工作方式 1.1:Producer :消息生产者,就是向kafka broker发消息的客户端。 1.2:Consumer :消息消费者,向kafka broker取消息的客户端 1.3:Topic :可以理解为一个队列。 1.4:Consumer Group (CG):这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制(不是真的
别先生
2018/04/02
2K0
Kafka的生产者和消费者代码解析
Clojure 学习入门(7)—— 连接mysql
Clojure的contrib包中实现了对现有JDBC的封装,在wiki上有连接,该页面上包含了对不同的数据库的连接方法和基本的操作,但是这个页面上没有提供足够的信息,足够一个初学者能够使用Clojure来完成一个SQL操作。本文中我们将利用Clojure和Lein工具,简介一下做开发的基础。当然网上也有非常多对Clojure的SQL操作进行封装的库,我们这里没有使用。
阳光岛主
2019/02/18
1.1K0
Clojure 学习入门(7)—— 连接mysql

相似问题

将Clojure *.clj编译成*.class,一些函数没有生成

11

运行clojure-1.9.0.jar时出现异常:缺少clojure/spec/alpha__init.class和clojure/spec/alpha.clj

149

在Clojure (.clj)脚本中导入.jar (vaadin-6.4.8.jar)文件

21

如何在clojure project.clj中排除风暴核心jar

23

Clojure 1.9命令行工具-命令未找到clj.sh

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文