gpt4 book ai didi

linux - HeadlessException 在 RedHat 服务器上使用 docx4j xhtmlrenderer

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:17 25 4
gpt4 key购买 nike

在 RedHat 服务器上使用 Docx4jReplacedElementFactory 时,我得到一个 java.awt.HeadlessException。有谁知道这个的解决方法? (除了运行 Xvfb)

我深入研究了堆栈跟踪,问题的根源是 java.awt.GraphicsEnvironment.getDefaultScreenDevice(),它在 headless (headless)环境中运行时抛出异常。 如文档所述:“抛出:HeadlessException - 如果 isHeadless() 返回 true”(参见 java.awt.HeadlessException thrown from HeadlessGraphicsEnvironment.getDefaultScreenDevice 上的评论)。

鉴于 getDefaultScreenDevice 正在按指定工作,使用 docx4j 时是否有另一种方法可以避免去那里?

查看 org.docx4j.org.xhtmlrenderer.util.ImageUtil.getGraphicsConfiguration 的源代码,我们看到:

private static GraphicsConfiguration getGraphicsConfiguration() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
-> GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
return gc;
}

堆栈跟踪:

Cause details:
java.awt.HeadlessException
at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:82)
at org.docx4j.org.xhtmlrenderer.util.ImageUtil.getGraphicsConfiguration(ImageUtil.java:119)
at org.docx4j.org.xhtmlrenderer.util.ImageUtil.makeCompatible(ImageUtil.java:70)
at org.docx4j.org.xhtmlrenderer.swing.AWTFSImage.createImage(AWTFSImage.java:38)
at org.docx4j.org.xhtmlrenderer.swing.NaiveUserAgent.createImageResource(NaiveUserAgent.java:197)
at org.docx4j.org.xhtmlrenderer.swing.NaiveUserAgent.getImageResource(NaiveUserAgent.java:167)
at org.docx4j.org.xhtmlrenderer.docx.Docx4jReplacedElementFactory.createReplacedElement(Docx4jReplacedElementFactory.java:57)
[snip]

最佳答案

关于linux - HeadlessException 在 RedHat 服务器上使用 docx4j xhtmlrenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com