使用 install4j 和 gradle 在 docker 容器中构建 windows 安装程序
Building windows installer in docker container using install4j and gradle
Install4j windows 在 docker 容器中构建失败并出现以下错误:
Loading config file /opt/atlassian/pipelines/agent/build/_installer/_install4j/xxx.install4j
Error instantiating bean [ID: 2, class: com.install4j.runtime.beans.screens.WelcomeScreen, name: ]
java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory.run(FontManagerFactory.java:86)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:247)
at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265)
at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1243)
at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1646)
at java.desktop/javax.swing.plaf.basic.BasicRadioButtonUI.getPreferredSize(BasicRadioButtonUI.java:321)
at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1680)
at com.install4j.runtime.wizard.WizardScreen.<clinit>(WizardScreen.java:19)
at com.install4j.runtime.beans.screens.SystemScreen.<clinit>(SystemScreen.java:18)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.desktop/sun.font.FontManagerFactory.run(FontManagerFactory.java:84)
... 32 more
Caused by: java.lang.NullPointerException
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
at java.desktop/sun.font.SunFontManager.run(SunFontManager.java:367)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:312)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
... 37 more
Error instantiating bean [ID: 8, class: com.install4j.runtime.beans.screens.InstallationDirectoryScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 12, class: com.install4j.runtime.beans.screens.ComponentsScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 15, class: com.install4j.runtime.beans.screens.InstallationScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 20, class: com.install4j.runtime.beans.screens.FinishedScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 24, class: com.install4j.runtime.beans.screens.UninstallWelcomeScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 27, class: com.install4j.runtime.beans.screens.UninstallationScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemProgressScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 32, class: com.install4j.runtime.beans.screens.UninstallFailureScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 30, class: com.install4j.runtime.beans.screens.UninstallSuccessScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.ejt.framework.gui.cz.a(ejt:546)
at com.install4j.config.n.b(ejt:368)
at com.install4j.config.k.e(ejt:255)
at com.exe4j.b.f.a(ejt:206)
at com.install4j.config.k.a(ejt:269)
at com.install4j.config.k.a(ejt:84)
at com.install4j.Install4JApplication.f(ejt:728)
at com.exe4j.a.g(ejt:393)
at com.exe4j.a.a(ejt:356)
at com.install4j.Install4JApplication.main(ejt:90)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.com.install4j.Install4JApplication.main(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1367)
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
at com.ejt.framework.gui.cz.a(ejt:542)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.WelcomeScreen
at com.install4j.config.a.a.c.a(ejt:24)
at com.install4j.config.a.a.a.c(ejt:22)
at com.ejt.framework.gui.cz.a(ejt:539)
at com.install4j.config.a.a.a.a(ejt:22)
at com.install4j.config.a.z.<init>(ejt:85)
at com.install4j.config.n.t(ejt:456)
at com.install4j.config.n.d(ejt:386)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
install4j: Could not load config file /opt/atlassian/pipelines/agent/build/_installer/_install....
我正在使用 debian:jessie
作为基础图像。 运行 测试并创建 JAR 有效,但我无法创建安装程序。我该如何解决这个问题?我正在尝试做的事情是否可行(在 docker 中创建 windows 安装程序)?
我已尝试在 gradle 任务中启用所有调试信息,但不确定我可以尝试获取此 运行。
我还需要知道我在 windows 中使用 gui 设置的项目能否在 linux 环境中工作?
即使在无头模式下,Install4j 也会初始化 AWT,并且 AWT 需要安装某些字体库。通过执行
安装 libfontconfig1-dev 包
apt-get install -y libfontconfig1-dev
将解决此问题。
Install4j windows 在 docker 容器中构建失败并出现以下错误:
Loading config file /opt/atlassian/pipelines/agent/build/_installer/_install4j/xxx.install4j
Error instantiating bean [ID: 2, class: com.install4j.runtime.beans.screens.WelcomeScreen, name: ]
java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory.run(FontManagerFactory.java:86)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:247)
at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265)
at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1243)
at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1646)
at java.desktop/javax.swing.plaf.basic.BasicRadioButtonUI.getPreferredSize(BasicRadioButtonUI.java:321)
at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1680)
at com.install4j.runtime.wizard.WizardScreen.<clinit>(WizardScreen.java:19)
at com.install4j.runtime.beans.screens.SystemScreen.<clinit>(SystemScreen.java:18)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.desktop/sun.font.FontManagerFactory.run(FontManagerFactory.java:84)
... 32 more
Caused by: java.lang.NullPointerException
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
at java.desktop/sun.font.SunFontManager.run(SunFontManager.java:367)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:312)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
... 37 more
Error instantiating bean [ID: 8, class: com.install4j.runtime.beans.screens.InstallationDirectoryScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 12, class: com.install4j.runtime.beans.screens.ComponentsScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 15, class: com.install4j.runtime.beans.screens.InstallationScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 20, class: com.install4j.runtime.beans.screens.FinishedScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 24, class: com.install4j.runtime.beans.screens.UninstallWelcomeScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 27, class: com.install4j.runtime.beans.screens.UninstallationScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemProgressScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 32, class: com.install4j.runtime.beans.screens.UninstallFailureScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Error instantiating bean [ID: 30, class: com.install4j.runtime.beans.screens.UninstallSuccessScreen, name: ]
java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.SystemFormScreen
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.install4j.config.a.f.getOrInstantiateBean(ejt:274)
at com.install4j.config.a.f.I(ejt:232)
at com.install4j.config.a.z.b(ejt:381)
at com.install4j.config.a.z.d(ejt:331)
at com.exe4j.b.b.n.b(ejt:49)
at com.install4j.config.n.d(ejt:381)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.ejt.framework.gui.cz.a(ejt:546)
at com.install4j.config.n.b(ejt:368)
at com.install4j.config.k.e(ejt:255)
at com.exe4j.b.f.a(ejt:206)
at com.install4j.config.k.a(ejt:269)
at com.install4j.config.k.a(ejt:84)
at com.install4j.Install4JApplication.f(ejt:728)
at com.exe4j.a.g(ejt:393)
at com.exe4j.a.a(ejt:356)
at com.install4j.Install4JApplication.main(ejt:90)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.com.install4j.Install4JApplication.main(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1367)
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
at com.ejt.framework.gui.cz.a(ejt:542)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.install4j.runtime.beans.screens.WelcomeScreen
at com.install4j.config.a.a.c.a(ejt:24)
at com.install4j.config.a.a.a.c(ejt:22)
at com.ejt.framework.gui.cz.a(ejt:539)
at com.install4j.config.a.a.a.a(ejt:22)
at com.install4j.config.a.z.<init>(ejt:85)
at com.install4j.config.n.t(ejt:456)
at com.install4j.config.n.d(ejt:386)
at com.install4j.config.n.f(ejt:369)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
install4j: Could not load config file /opt/atlassian/pipelines/agent/build/_installer/_install....
我正在使用 debian:jessie
作为基础图像。 运行 测试并创建 JAR 有效,但我无法创建安装程序。我该如何解决这个问题?我正在尝试做的事情是否可行(在 docker 中创建 windows 安装程序)?
我已尝试在 gradle 任务中启用所有调试信息,但不确定我可以尝试获取此 运行。
我还需要知道我在 windows 中使用 gui 设置的项目能否在 linux 环境中工作?
即使在无头模式下,Install4j 也会初始化 AWT,并且 AWT 需要安装某些字体库。通过执行
安装 libfontconfig1-dev 包apt-get install -y libfontconfig1-dev
将解决此问题。