我看到人們在斯卡拉控制檯中使用播放API。我怎樣才能將多個play的罐子導入scala控制檯?運行斯卡拉控制檯與播放2.2罐子
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
我看到人們在斯卡拉控制檯中使用播放API。我怎樣才能將多個play的罐子導入scala控制檯?運行斯卡拉控制檯與播放2.2罐子
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
你的方法是對的。 scala
REPL瞭解所有scalac
選項,因此scala -cp
是正確的選項。但是,您必須將所有jar分別列出在Unix上由冒號分隔的類路徑中。
如果你是懶惰和我一樣,不想拼出來,你可以使用這樣的構建classpath中所有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/'
@ aleksey的回答對我有用。我也找到了另一種方式來做到這一點。
轉到你的項目目標文件夾現在
$ cd <your play project>/target/universal/stage/lib
,運行此命令。
$ scala -cp `ls -1 | tr "\\n" ":"`