如果我的Unix系统没有任何X11服务器或GUI模式可用,我有一个安装程序应该回到控制台模式。以下是我为安装程序设置的配置:
现在根据回退选项,即使我没有使用[installer] -c
命令运行安装程序,它也应该在启用控制台执行时自动运行(它也应该是正常的用例)。但不幸的是,每当我在控制台模式下直接执行安装程序时,它都会抛出异常。异常日志如下:
java.lang.NoClassDefFoundError: java.awt.Container
at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(AbstractHeadlessScreenExecutor.java:67)
at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(ConsoleScreenExecutor.java:24)
at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(InstallerConsoleScreenExecutor.java:6)
at com.install4j.runtime.installer.Installer.getScreenExecutor(Installer.java:88)
at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:57)
at com.install4j.runtime.installer.Installer.main(Installer.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62)
我尝试过使用Install4j 6.1.4然后用7.0.3升级它,行为是一样的。我的Linux安装是CentOS 7 Server,安装程序与Java JRE 1.7.80捆绑在一起。
我的CentOS中是否有任何缺少install4j需要的东西?或者我是否必须在安装程序中配置其他任何内容以使其正常运行?我尝试使用-c
,它适用于那种情况。
答案 0 :(得分:0)
回退当前尝试初始化一个窗口并且无法切换到无头模式。在您的系统上,无头模式在这种情况下似乎不起作用。
我将使用GraphicsEnvironment.isHeadless()
添加不同类型的无头检查,请向support@ej-technologies.com咨询可用的构建。