我将docker与Java项目结合使用 在构建过程中编译的。 现在我尝试基于Collada生成Java代码 通过调用以下shell脚本来实现XML模式1.5 在Dockerfile中:
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依赖。 这对我来说没有意义。 如何避免这个问题?
答案 0 :(得分:0)
我解决了这个问题。 事实上,可以忽略DBus错误。
问题是对xjc所在的目录没有写权限 尝试生成文件。 通过将所有权切换到Dockerfile中使用的用户来修复它。