Jar是一种使用java的便捷方式,因为每个类都可以包含在一个jar中.
我使用如下的antlr,并使用-jar选项调用jar.
java -jar $ANTLRDIR/antlr-3.2.jar ANTLR_CODE.g
而且,这是调用clojure的命令.而不是使用-jar选项调用clojure.jar.它位于-cp中,并调用一些"函数".
java -cp $CLOJURE_JAR:$CLASSPATH clojure.lang.Script CLOJURE_CODE.clj
•这种方法背后的魔力是什么?什么是'clojure.lang.Script'?
clojure.lang.Script是具有jar可执行文件正在运行的main方法的类.
•可以用相同的方式调用antlr吗?如果是这样的话应该使用什么名字(比如clojure.lang.Script)?
antlr jar可以用同样的方式调用.您必须知道主类的名称(位于jar中的MANIFEST.MF文件中.)
•用其他语言制作的jar文件怎么样:clojure/scala?我怎么知道应该叫的名字?
我不知道......可能取决于语言.
•这两种方法有什么区别?优点和缺点?
可执行的jar非常容易用户启动(特别是在Windows中).只需双击jar文件即可.
•在这篇文章中,我被告知-jar忽略所有-cp和$ CLASSPATH.为什么是这样?这有什么理由吗?
毫无疑问,Sun出于安全原因这样做了.
•我还被告知-cp选项也忽略了$ CLASSPATH.为什么是这样?这有什么好的理由吗?
-cp选项会覆盖$ CLASSPATH.这就是这个选项的全部目的.
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |