安装SBT和Mac OSX 10.6

时间:2012-03-25 21:10:33

标签: scala lift sbt

我正在尝试在我的Mac操作系统上运行SBT。 到目前为止,我下载了Jar-Launcher并安装到/ bin文件夹中。 然后我创建了一个SBT脚本,其中包含以下几行:

export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH 
java -Xmx512M -jar ` $0` /bin/sbt-launch-0.7.7.jar "$@"

当我在控制台上调用SBT时,收到以下一系列错误消息:

> /bin/sbt: fork: Resource temporarily unavailable
java.io.IOException: Cannot run program "sh": error=35, Resource temporarily unavailable
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:466)
    at jline.UnixTerminal.exec(UnixTerminal.java:297)
    at jline.UnixTerminal.exec(UnixTerminal.java:282)
    at jline.UnixTerminal.stty(UnixTerminal.java:273)
    at jline.UnixTerminal.initializeTerminal(UnixTerminal.java:77)
    at jline.Terminal.setupTerminal(Terminal.java:75)
    at jline.Terminal.getTerminal(Terminal.java:26)
    at xsbt.boot.JLine$.terminal(SimpleReader.scala:20)
    at xsbt.boot.JLine$.createReader(SimpleReader.scala:22)
    at xsbt.boot.SimpleReader$.<init>(SimpleReader.scala:42)
    at xsbt.boot.SimpleReader$.<clinit>(SimpleReader.scala)
    at xsbt.boot.Initialize$.create(Create.scala:17)
    at xsbt.boot.Launch$.parsed(Launch.scala:28)
    at xsbt.boot.Launch$.configured(Launch.scala:21)
    at xsbt.boot.Launch$.apply(Launch.scala:16)
    at xsbt.boot.Launch$.apply(Launch.scala:13)
    at xsbt.boot.Boot$.runImpl(Boot.scala:24)
    at xsbt.boot.Boot$.run(Boot.scala:19)
    at xsbt.boot.Boot$.main(Boot.scala:15)
    at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: error=35, Resource temporarily unavailable
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 21 more

这里出了什么问题?

1 个答案:

答案 0 :(得分:2)

看起来你有一个迷路$0(它扩展为当前进程的名称sh)。尝试

java -Xmx512M -jar /bin/sbt-launch-0.7.7.jar "$@"

代替。这应该可以帮助你正常运转。通常的方法是像这样调用sbt

java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@"

假设您在sbt所在的文件夹中有shell脚本sbt-launch.jar,因为这是dirname $0指向的位置。