0

ビルドとテストを自動的に実行する CIS を使用しています。テストは Windows で正常に動作していますが、rhel で実行すると X11 Display variable not set がスローされました。

X11 がインストールされていることを確認し、Xmanager を使用して xclock を取得できるようにしました。意図はディスプレイをクライアントにプッシュすることではありませんが、X11 がインストールされているかどうかを確認するために Xmanager を使用しました。

ディスプレイがエクスポートされていない場合、グラフィックスを使用するテストは失敗しますが、 Iset export DISPLAY=0.0の場合、スローされましたjava.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment

このソースは、cNF 例外が誤解を招くと述べています。

そのコンテンツのスクラップは次のとおりです。

残念ながら、このエラー メッセージは誤解を招く可能性があります。このメッセージは、実際にはクラスのロードの問題を反映していません。このエラーは、適切な構成ファイルで DISPLAY 環境変数を設定することで回避できます。

これは、ディスプレイが適切にエクスポートされていないことを意味しますが、テストでは X11 ディスプレイの欠落が報告されません。私は何をするのに欠けていますか?

提案は大歓迎です!

4

3 に答える 3

2

エクスポート DISPLAY=0.0

これは構文エラーです。以下を使用する必要があります。 export DISPLAY=:0.0

(コロンに注意してください。)

それが正しければ、テストを実行するユーザーが X サーバーへのアクセス許可を持っていることを確認する必要があります。xauth安全ではないが簡単なテストについては、 または を参照してくださいxhost +

于 2011-01-10T16:06:42.063 に答える
1

X ディスプレイを実行していますか?

自動テスト用のディスプレイを取得する一般的な方法の 1 つは、Xvfb の「偽の」ディスプレイ サーバーを使用することです。Xvfb を実行し、それを指す DISPLAY を設定します。

于 2011-01-10T16:18:17.347 に答える
0

X11なしでテストを実行したい場合、あなたの説明からはわかりません。その場合、ヘッドレス モードを使用して、グラフィック出力が不要であることを AWT に伝えることができます。これにより、インタラクティブでない場合でもテストを実行できるようになります。

xclock のようなものは実行できるが、Java は実行できない方法がわかりません。中間ステップが欠落していませんか? テストを実行するホストに ssh しますか?

于 2011-01-10T13:20:08.760 に答える