从命令行调用Scala程序

时间:2015-05-24 17:21:32

标签: scala command-line

我知道这似乎是一个初学者的问题,并且有很多相关的问题,但我相信我有点具体而且我找不到答案。

我的树状结构如下:

root
   jsoup-1.8.2.jar
   bin
      miscellaneous
         md2html.class

bin目录是由Eclipse生成的,我不负责编译。以下所有命令均从bin执行。起初,我忘了在类路径中包含Jsoup:

scala miscellaneous.markdown.md2html C:\Users\Dici\Desktop\fancy-examples\test\test.md --theme amazon

逻辑上导致了以下错误:java.lang.NoClassDefFoundError: org/jsoup/nodes/Document,但我仍然能够通过评论与Jsoup相关的代码来运行md2html

然后,我将它添加到类路径中:

scala -classpath "..\jsoup-1.8.2.jar" miscellaneous.markdown.md2html C:\Users\Dici\Desktop\fancy-examples\test\test.md --theme apple

我希望这会有效,但事实并非如此:

No such file or class on classpath: miscellaneous.markdown.md2html

为什么在类路径中添加内容会破坏有效命令?

1 个答案:

答案 0 :(得分:3)

设置类路径时,删除了md2html.class文件所在的当前目录。

scala -classpath "..\jsoup-1.8.2.jar:.:" miscellaneous.markdown.md2html
     C:\Users\Dici\Desktop\fancy-examples\test\test.md --theme apple

Windows的类路径分隔符为;,linux为:.是当前目录的简写。给出类文件的绝对路径可能更好,但我认为你需要多个类。 .将包含该目录中的所有类文件。