我有一个用于测试的示例 Java 应用程序。它使用 Java Swing 库。我尝试在 Linux shell 中使用 xserver
运行它,所以我没有使用桌面环境。
通常,您可以运行例如Firefox 没有这样的问题:
startx /usr/bin/firefox
我尝试导出 DISPLAY
并 headless 运行应用程序,但它只打印了以下第一行。
{
System.out.println("This works");
JOptionPane.showMessageDialog(null, "This should show up");
}
如果我从命令行运行 java -jar app.jar
,我会收到以下错误消息:
Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
使用startx java -jar app.jar
,输出为:
Bad command line option "-jar"
最佳答案
这应该是:
startx /usr/bin/java -jar app.jar —-
引用https://askubuntu.com/questions/697978/how-to-pass-a-program-and-its-arguments-to-start或 startx 手册页。
编辑:根据@chief654 的回复更新。
关于java - 如何在没有桌面环境的情况下从 Linux shell 运行 Java Swing 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534139/