1

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();

Googleによると、クラスパス(windows)内のスペースに関係している可能性がありますが、ライブラリを移動したり、.jarファイルの代わりにクラスを使用したりすることはできませんでした。

可能だと思われます-groovyリファレンスのpleacJCurses:http: //pleac.sourceforge.net/pleac_groovy/userinterfaces.html

Groovyシェルスクリプト内から画面をクリアする別の方法でも、私の問題は解決します。:-)

4

3 に答える 3

2

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-03-28T08:19:05.120 に答える
2

根本的な問題はjcurses.jar、クラスパスで見つからなかった可能性が高く、がClassLoader.getSystemClassLoader().getResource("jcurses/system/Toolkit.class")返されnullます。

libjcurses.soネイティブコードを含む(またはlibjcurses64.soLinux上で)Cライブラリが見つからない場合に遭遇する可能性のある関連する問題があります。Cライブラリが見つかったのと同じフォルダにあることを想定していますjcurses.jar。そこにない場合は、次のようになります。

java.lang.RuntimeException:jcursesライブラリが見つかりませんでした

于 2012-08-29T21:56:42.777 に答える
1

画面をクリアする別の簡単な方法を見つけました:-)

print "\n"*80
于 2012-03-28T09:15:01.013 に答える