- - PR -
DefaultToolkitがとれない?
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-17 14:33
いつもお世話になってます。
お客さんの環境なのですが、作成したサーブレットをSuSE Linux+Tomcat+JDK1.4上で 動かそうとしているのですが、どうもDefaultToolkitがとれないようです。 X-Windowが起動していない(ImageMagickで同じようなことがあったような気がしたので) のかと思い、xinitでXを起動してみたのですがやはりダメでした。 googleで探したのですが、それらしいものは見付かりませんでした。 お客さんの環境なので不明な点が多いのですが、何かわかるかたおられないでしょうか? よろしくお願いします。 <エラー> java.lang.NoClassDefFoundError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:140) at java.awt.Toolkit$2.run(Toolkit.java:712) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:703) at TestServlet.service(TestServlet.java:39) | ||||
|
投稿日時: 2003-12-17 15:07
xinitではなくstartxとしてKDEを起動しました。
その状態では以下のようなエラーに変わりました。 やはりX-Window関連の問題のようですが、わたしはXについてはよく知らないので、 やはり原因がわかりません。Xについて調べてはみますが、何かご存知の方はおられ ませんか?この質問はLinux会議室に持っていった方がいいのかな? <エラー> java.lang.InternalError: Can't connect to X11 window server using 'biogrid1:0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:125) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:140) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62) at sun.awt.motif.MToolkit.(MToolkit.java:72) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:140) at java.awt.Toolkit$2.run(Toolkit.java:712) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:703) at TestServlet.service(TestServlet.java:39) | ||||
|
投稿日時: 2003-12-17 15:18
似たような内容で、コンソールベースのLinux+TomcatでJPEG画像を生成する場合は、
Xvfbという物を使うというような情報を見つけました。 これについて詳細に調べてみます。 | ||||
|
投稿日時: 2003-12-17 15:27
Xサーバにつなげないと言ってますね。Xは起動していますか? また、'biogrid1:0.0'というDISPLAY環境変数がセットされているということは、 biogrid1というホストのXサーバにつなぎに行っていることになりますが、それは 予期している挙動でしょうか? DefaultToolkitというのは何か分かりませんが、以前hp-uxでコンソールベースのJava アプリで(AWTの)画像関連のAPIを使いたかった時は、PJA(Pure Java AWT)を使いました。 ググッたら解説がありますね。PJA Toolkit 要は、AWTというのはプラットフォームネイティブのグラフィックス表示システムを ラップしているのでコンソールベースの時は使えないけど、PJAならネイティブに 接続しないのでコンソールベースでも使えるよ、ということです。詳しくは解説を 読んでみてください。 [ メッセージ編集済み 編集者: おばけ 編集日時 2003-12-17 15:28 ] | ||||
|
投稿日時: 2003-12-17 15:38
unibon です。こんにちわ。
#こんな便利なものがあるとは知りませんでした。 ちなみに、今回のmaruさんの状況では、 おそらくその URL 中に書かれてある「ヘッドレスサポート」(-Djava.awt.headless=true)を使うだけで、 解決できるのではないかと思います。 | ||||
|
投稿日時: 2003-12-17 15:44
えと、UNIXサーバだと普通ってXは入って無いじゃないですか。 でも、AWTの画像変換のAPIは使いたかったりする、と。 そんな時に便利なようです # 普通のAWTで書いてサーバにデプロイして、、、あれあれ、動かない!! # って焦ると最悪ですよね、、、(T-T)。一回ありました(ショボ) | ||||
|
投稿日時: 2003-12-17 16:00
こんにちは、さくらばです。
ヘッドレスサポート使えば PJA も Xvfb もいらないですよ。 普通に AWT の機能を使えます。 # もちろんフレームを描画とはできないですが。 | ||||
|
投稿日時: 2003-12-17 16:09
ほう!そんなことができるんですか。知らなかった ヘッドレス、つまり表示する画面が無い、ということなんですかね。。。 | ||||
