如何使用Scala和Jcurses?

时间:2014-08-16 22:30:59

标签: scala jcurses

我想在64位Ubuntu上使用带有Scala的Jcurses。 不幸的是我没有找到关于这个主题的任何教程。任何人都可以帮助我!

我的测试程序“testjcurses.scala”

import jcurses.system._
object TestJcurses {
  def main(args:Array[String]) {
    println("okay")
    Toolkit.init()
    }
  }

我按照以下方式处理:

fsc -cp ~/software/Java/jcurses/lib/jcurses.jar:~/software/Java/jcurses/src -d . -Djava.library.path=~/software/Java/jcurses/lib testjcurses.scala 
scala -cp ~/software/Java/jcurses/lib/jcurses.jar:~/software/Java/jcurses/src:.  -Djava.library.path=~/software/Java/jcurses/lib  TestJcurses

结果是:

okay
java.lang.NullPointerException
    at jcurses.system.Toolkit.getLibraryPath(Toolkit.java:97)
    at jcurses.system.Toolkit.<clinit>(Toolkit.java:37)
    at TestJcurses$.main(testjcurses.scala:9)
    at TestJcurses.main(testjcurses.scala)
   ..........

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

很遗憾,你无法在bash中使用~ - ~仅在(未引用的)空格之后扩展到您的主目录(技术上,在bash字的开头) ,但是&#34;在空格&#34;之后是简单的版本)。看看你的命令行是如何扩展的:

$ echo scala -cp ~/software/Java/jcurses/lib/jcurses.jar:~/software/Java/jcurses/src:.  -Djava.library.path=~/software/Java/jcurses/lib  TestJcurses
scala -cp /Users/pgiarrusso/software/Java/jcurses/lib/jcurses.jar:~/software/Java/jcurses/src:. -Djava.library.path=~/software/Java/jcurses/lib TestJcurses

正如您所看到的,~存在于扩展版本中,并且将不会更改为您的程序,由于代字号扩展是shell的作业,因此无法将其解释为任何内容。

此外,您不应该在类路径中需要源目录~/software/Java/jcurses/src(因为运行程序不需要源文件)。所以试试:

scala -cp ~/software/Java/jcurses/lib/jcurses.jar:. -Djava.library.path=$HOME/software/Java/jcurses/lib  TestJcurses