好的.所以这是我的问题:我在Clojure中创建数据解析器.我的程序的一部分是它必须能够绘制数据图形.我想,我将使用jFreeChart.但是,我绝对没有IDEA如何在JAR文件中包含内容.我的意思是:如果我的类路径中有app.jar文件,我似乎无法做到:
import app.thing.thing2
不要将类路径更改为jar文件内部.
这里的想法是我不认为我可以改变我的类路径,因为我需要设置它来运行Clojure(或者我呢?).全局类路径当前是/ usr/share/java.
请不要让我使用Maven,Ant或任何项目构建工具,除非这是唯一的方法.这是一个供个人使用的脚本,不需要或不需要大量的开销.
我想知道我是否应该解压每个JAR文件,以便我可以引用目录结构?这不好吗?
如果您需要任何澄清,请告诉我们!
CLASSPATHClojure可以使用(Java)环境变量的内容,因此如果在运行Clojure之前将jar添加到全局类路径中,您将"看到"它:
export CLASSPATH=/path/to/jfreechart.jar:$CLASSPATH
Run Code Online (Sandbox Code Playgroud)
但是,在我看来,这不是向Clojure的类路径添加jar的"干净"方式(因为这使得库对任何 Java程序都可见,并且可能不是所希望的).相反,您应该使用CLOJURE_EXT环境变量.这是记录此变量的方式:
# CLOJURE_EXT The path to a directory containing (either directly or as
# symbolic links) jar files and/or directories whose paths
# should be in Clojure's classpath. The value of the
# CLASSPATH environment variable for Clojure will be a list
# of these paths followed by the previous value of CLASSPATH
# (if any).
Run Code Online (Sandbox Code Playgroud)
在我的系统上,它定义如下:
export CLOJURE_EXT=~/.clojure
Run Code Online (Sandbox Code Playgroud)
因此,要将jfreechart.jar(或任何其他库)添加到Clojures的类路径中,请将其复制(或添加指向它的符号链接)在CLOJURE_EXT变量中定义的目录中.
顺便说一句(对不起,但你的问题不是那么清楚),如果你想将一些Java类捆绑到一个jar中,那么命令是这样的:
$ jar cf myjarfile *.class
Run Code Online (Sandbox Code Playgroud)
你会发现的文件jar-在Java归档工具- 在这里.
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |