我刚刚尝试在Groovy中使用JCurses,但我总是得到以下异常:
Caused by: java.lang.NullPointerException at
jcurses.system.Toolkit.getLibraryPath(Toolkit.java:97) at
jcurses.system.Toolkit.<clinit>(Toolkit.java:37)
Toolkit.java:37:
String url = ClassLoader.getSystemClassLoader()\
.getResource("jcurses/system/Toolkit.class").toString();
谷歌告诉我,它可以处理类路径(windows)中的空格,但移动库,甚至使用类而不是.jar文件都不成功。
这似乎是可能的-请参考groovy参考JCurses:http://pleac.sourceforge.net/pleac_groovy/userinterfaces.html
从Groovy shell脚本中清除屏幕的另一种方法也可以解决我的问题。:-)
发布于 2012-03-28 16:19:05
当jline与Groovy捆绑在一起时,你不能使用jline.ANSIBuffer.ANSICodes
类吗(如你链接的页面所示)
print jline.ANSIBuffer.ANSICodes.clrscr()
您可能还需要执行以下操作:
print jline.ANSIBuffer.ANSICodes.gotoxy( 1, 1 )
如果希望光标回到屏幕顶部
要绘制彩色文本,您可以执行以下操作:
println new jline.ANSIBuffer().append( 'Some ' )
.red( 'Red' )
.append( ' text' )
.toString()
发布于 2012-08-30 05:56:43
根本问题很可能是在您的类路径中找不到jcurses.jar
,导致ClassLoader.getSystemClassLoader().getResource("jcurses/system/Toolkit.class")
返回null
。
如果它找不到包含本机代码的C库(linux上的libjcurses.so
或libjcurses64.so
),就会遇到一个相关的问题。它希望C库位于发现jcurses.jar
的同一文件夹中。如果它不在那里,你会得到:
java.lang.RuntimeException:找不到jcurses库
发布于 2012-03-28 17:15:01
找到了另一种简单的方法来清除屏幕:-)
print "\n"*80
https://stackoverflow.com/questions/9903555
复制相似问题