使用ELPA安装后,如何在Emacs中设置Clojure类路径?

前端之家收集整理的这篇文章主要介绍了使用ELPA安装后,如何在Emacs中设置Clojure类路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ELPA在Emacs中设置的Clojure REPL中添加路径到我的类路径.显然,这不是$CLASSPATH环境变量,而是swank设置的swank-clojure-classpath变量.因为我使用ELPA来安装Swank,Clojure等,所以有大量的.el文件可以处理一切,而不是我的.emacs文件.不幸的是,我现在不知道如何改变类路径.

我尝试在我的.emacs中的ELPA之前和之后使用(setq’swank-clojure-extra-classpaths(list …)),我已经尝试将路径直接添加到swank-clojure-classpath中. emacs,.emacs.d / init.el和.emacs.d / user / user.el,但没有任何作用.

我最终要做的是添加当前目录“.”和我保存我的Clojure程序的目录.我假设swank-clojure-classpath是我需要设置的东西.谢谢你的帮助.

解决方法

正如Mac所说,你可以使用
M-x swank-clojure-project

建立一个泥土REPL到clojure项目;该命令将询问您的项目根目录,并将建立一个类路径,其中包含各种目录,包括src / lib /和resources /(如果存在).

或者,如果您使用leiningen,您可以使用命令在终端中启动

$lein swank

从你的项目根目录里面.这将建立一个标准的项目类路径(如上).从这里你可以通过Emacs命令连接到这个正在运行的进程

M-x slime-connect

最后,我建议的第三个选项是通过Emacs / slime(与M-x slime-connect)连接到由您自己的shell脚本启动的进程,该过程指定了一组自定义的JVM命令行参数.

#!/bin/bash 

java -server -cp "./lib/*":./src clojure.main -e "(do (require 'swank.swank) (swank.swank/start-repl))"

这允许您明确控制VM的启动方式,并且可能类似于您在生产中可能需要做的工作.

猜你在找的Java相关文章