我想在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)
..........
有人能帮助我吗?
答案 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