使用play 2.2 jar运行scala控制台

时间:2014-02-24 02:48:37

标签: scala playframework-2.2

我看到人们在scala控制台中使用play apis。如何将多个Play的jar导入scala控制台?

https://stackoverflow.com/a/17684559/772481

我尝试了这个命令,但它没有用。

$ scala -cp /usr/local/Cellar/play/2.2.0/libexec/repository/local/com.typesafe.play/play_2.10/2.2.0/jars/*.jar

2 个答案:

答案 0 :(得分:2)

你的方法是对的。 scala REPL了解所有scalac个选项,因此scala -cp是正确的选项。但是,您必须在Unix上以冒号分隔的类路径中单独列出所有jar。

如果你像我一样懒,并且不想拼出所有jar文件,你可以使用这样的东西来构建类路径:

ls -1 ~/.ivy2/cache/com.typesafe/config/jars/config-1.0.* | tr '\n' ':' | sed 's/:$/\n/'

产地:

/home/alex/.ivy2/cache/com.typesafe/config/jars/config-1.0.0.jar:/home/alex/.ivy2/cache/com.typesafe/config/jars/config-1.0.2.jar

在原始命令中使用它:

scala -cp "$(ls -1 /usr/local/Cellar/play/2.2.0/libexec/repository/local/com.typesafe.play/play_2.10/2.2.0/jars/*.jar | tr '\n' ':' | sed 's/:$/\n/')"

如果您想避免指定目录,请使用find而不是ls

find ~/.ivy2/cache/com.typesafe/config/jars/ -name "*.jar" -exec echo {} \; | tr '\n' ':' | sed 's/:$/\n/'

答案 1 :(得分:0)

@ aleksey的回答对我有用。我也找到了另一种方法。

转到项目目标文件夹

$ cd <your play project>/target/universal/stage/lib

现在,运行此命令。

$ scala -cp `ls -1 | tr "\\n" ":"`