【问题标题】:Run scala console with play 2.2 jars使用 play 2.2 jar 运行 scala 控制台
【发布时间】:2014-02-24 11:56:18
【问题描述】:

我看到人们在 scala 控制台中使用 play api。如何将多个 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

【问题讨论】:

    标签: scala playframework-2.2


    【解决方案1】:

    你的方法是对的。 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/'
    

    【讨论】:

      【解决方案2】:

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

      转到您的项目目标文件夹

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

      现在,运行这个命令。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        相关资源
        最近更新 更多