0

ビルド プロセス中にコンパイルされる Java プロジェクトと組み合わせて docker を使用しています。現在、Dockerfile 内で次のシェル スクリプトを呼び出して、Collada XML スキーマ バージョン 1.5 に基づいて Java コードを生成しようとしています。

BASEDIR=$(dirname $0)
xjc $BASEDIR/schema/collada/collada-schema-1.5.xsd \
    -d $BASEDIR/knowrob_vis/src/main/java \
    -p org.knowrob.vis.collada \
    -extension $BASEDIR/schema/simpleMode.xsd

残念ながら、これにより次のエラーが発生します。

(process:4093): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
GConf Error: No D-BUS daemon running

私のホスト マシンでは、Java コードを生成するのに問題なく動作します。ここで Dockerfile を見つけることができます: https://raw.githubusercontent.com/knowrob/docker/master/hydro-knowrob/hydro-knowrob-daemon_local/Dockerfile

EDIT1: xjc には奇妙な XServer 依存関係があるようです。それは私には意味がありません。その問題を回避するには?

4

1 に答える 1

0

問題を解決しました。実際、DBus エラーは無視できます。

問題は、xjc がファイルを生成しようとするディレクトリに書き込み権限がないことでした。Dockerfile で使用されているユーザーに所有権を切り替えることで修正しました。

于 2015-04-22T12:34:13.587 に答える