在 Scala 解释器中包含 jar 文件
是否可以包含运行 Scala 解释器的 jar 文件?
当我从 scalac 编译时,我的代码可以正常工作:
scalac script.scala -classpath *.jar
但我希望能够在运行解释器时包含一个 jar 文件。
Is it possible to include a jar file run running the Scala interpreter?
My code is working when I compile from scalac:
scalac script.scala -classpath *.jar
But I would like to be able to include a jar file when running the interpreter.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
在scala2.8中,您可以使用
将jar添加到类路径中。
在 Scala 2.8.1 中,它不是 :jar 而是 :cp
在 Scala 2.11.7 中它不是 :cp 而是 :re(quire)
In scala2.8,you can use
to add a jar to the classpath.
In Scala 2.8.1, it is not :jar but :cp
And in Scala 2.11.7 it is not :cp but :re(quire)
根据 scala 可执行文件帮助,允许 scalac 的所有选项,
所以你可以运行 scala -classpath some.jar ,我刚刚尝试过,看起来它可以工作
According to scala executable help all options of scalac are allowed ,
so you can run
scala -classpath some.jar
, i've just tried and it looks like it works在 Scala REPL 2.10.0-RC2 中包含多个 jar
Include multiple jars int Scala REPL 2.10.0-RC2
就我而言,我使用的是 Scala 代码运行器版本 2.9.2。我不得不添加引号。
我正在使用这个 jar 文件:
jdom-b10.jar、rome-0.9.jar
,一切顺利:
in my case i am using Scala code runner version 2.9.2. and i had to add quotation marks.
I am using this jar files:
jdom-b10.jar, rome-0.9.jar
and everything goes fine with this:
在 Scala 版本 2.11.6 中,scala REPL 使用
:require
,最好通过使用 REPL 中的:help
来解决,例如:
In Scala version 2.11.6 from scala REPL use
:require
, can best be figured out by using:help
from REPLFor example:
Scala 版本 2.11.5:
以下是在 ivy 缓存中添加所有 jar 的示例:
您还可以创建一个包含需要添加的所有 jar 的本地文件夹,并以类似的方式添加它。
希望这有帮助。
Scala version 2.11.5:
Here is an example of adding all jars in your ivy cache:
You can also create a local folder of all the jars that you need to get added and add it in a similar way.
Hope this helps.
“lib/*.jar”生成一个列表,项目之间有空格,而不是“:”或“;”根据需要。
由于 Java 6“lib/*”应该可以工作,但有时不能(类路径设置在其他地方),
我使用如下脚本:
Windows:
Linux:
<前><代码>#!/bin/bash
#lib 子目录中的所有 *.jar
clp=“。”
对于 lib/* 中的文件
做
clp="$clp:$文件"
完毕
回声$clp
scala -classpath $clp script.scala
Linux
"lib/*.jar" generates a list with blank between items not ":" or ";" as required.
Since Java 6 "lib/*" should work, but sometimes doesn't (classpath is set somewhere else)
I use a script like:
Windows:
Linux: