运行 JAXB/XJC 在 Dockerfile 中产生 GConf 错误
Running JAXB/XJC in Dockerfile yields in GConf Error
我将 docker 与 Java 项目结合使用
这是在构建过程中编译的。
现在我正在尝试基于 Collada 生成 Java 代码
XML 架构版本 1.5 通过调用以下 shell 脚本
在 Dockerfile 中:
BASEDIR=$(dirname [=12=])
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
编辑1:
似乎 xjc 有一些奇怪的 XServer 依赖项。
这对我来说没有意义。
如何避免这个问题?
我解决了这个问题。
其实DBus报错可以忽略
问题是对xjc所在的目录没有写权限
尝试生成文件。
通过将所有权切换到 Dockerfile 中使用的用户来修复它。
我将 docker 与 Java 项目结合使用 这是在构建过程中编译的。 现在我正在尝试基于 Collada 生成 Java 代码 XML 架构版本 1.5 通过调用以下 shell 脚本 在 Dockerfile 中:
BASEDIR=$(dirname [=12=])
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
编辑1: 似乎 xjc 有一些奇怪的 XServer 依赖项。 这对我来说没有意义。 如何避免这个问题?
我解决了这个问题。 其实DBus报错可以忽略
问题是对xjc所在的目录没有写权限 尝试生成文件。 通过将所有权切换到 Dockerfile 中使用的用户来修复它。