gpt4 book ai didi

java - Java 中的 HeadlessException - ImageJ

转载 作者:行者123 更新时间:2023-11-30 04:38:35 30 4
gpt4 key购买 nike

我在 ImageJ 中编写了一个宏,用于在 JPEG 图像文件列表上运行“测量”。我正在远程 Linux 机器上使用 headless.jar 以 headless (headless)模式运行代码。

我得到以下异常(exception) -

> java.awt.HeadlessException:  No X11 DISPLAY variable was set, but this
> program performed an operation which requires it.
> at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
> at java.awt.Window.<init>(Window.java:433)
> at java.awt.Frame.<init>(Frame.java:403)
> at ij.plugin.frame.PlugInFrame.<init>(PlugInFrame.java:13)
> at ij.plugin.frame.Editor.<init>(Editor.java:89)
> at ij.plugin.frame.Editor.<init>(Editor.java:85)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at ij.IJ.runPlugIn(IJ.java:156)
> at ij.IJ.runPlugIn(IJ.java:141)
> at ij.io.Opener.open(Opener.java:172)
> at ij.IJ.open(IJ.java:1505)
> at ij.macro.Functions.open(Functions.java:2325)
> at ij.macro.Functions.doFunction(Functions.java:141)

我该如何覆盖这个?有没有办法阻止 ImageJ 打开图形环境?

最佳答案

不是 ImageJ 方面的专家,但看起来 IJ 插件之一正在创建其用户界面,尽管整个事情都处于 headless (headless)模式(因此问题不是来自 IJ 本身)。查找并修补插件以使其在 headless (headless)模式下正常运行可能会很麻烦。

有一个解决方案适用于任何坚持打开 UI 的应用程序,但可以通过宏使用:提供虚拟帧缓冲区(使用 xvfb)并使其成为应用。

只要没有任何内容阻止用户输入,这应该可以工作。这是一些more information使用 ImageJ 来完成此操作。它适用于 Fiji,一个派生项目,但它显示了使用 xvfb 的可能解决方案,该解决方案也应该适用于 IJ 本身。

关于java - Java 中的 HeadlessException - ImageJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837296/

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