如何在没有桌面环境的情况下从LinuxShell运行JavaSwing应用程序?

如何在没有桌面环境的情况下从LinuxShell运行JavaSwing应用程序?,java,linux,swing,xserver,Java,Linux,Swing,Xserver,我有一个用于测试的示例Java应用程序。它使用JavaSwing库。我尝试在Linux shell中使用xserver运行它,因此我没有使用桌面环境 通常,您可以运行例如Firefox而不会出现以下问题: startx /usr/bin/firefox 我尝试导出DISPLAY并运行应用程序headless,但它只打印了下面几行中的第一行 { System.out.println(“本工程”); showMessageDialog(null,“应显示此对话框”); } 如果从命令行运

我有一个用于测试的示例Java应用程序。它使用JavaSwing库。我尝试在Linux shell中使用
xserver
运行它,因此我没有使用桌面环境

通常,您可以运行例如Firefox而不会出现以下问题:

startx /usr/bin/firefox    
我尝试导出
DISPLAY
并运行应用程序headless,但它只打印了下面几行中的第一行

{
System.out.println(“本工程”);
showMessageDialog(null,“应显示此对话框”);
}
如果从命令行运行
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 —-
请参阅或startx手册页


编辑:根据@chief654的响应进行更新。

您得到了什么错误?因此,如果我从命令行运行“java-jar app.jar”,我会收到以下错误消息:
线程“main”java.awt.HeadlessException中的异常:没有设置X11显示变量,但是这个程序执行了一个需要它的操作。
在“startx java-jar app.jar”中,输出是:
错误的命令行选项“-jar”
。嘿,非常感谢您的回答。这对我不起作用,我仍然犯同样的错误。但这是对的,我研究了一下,发现有时候你需要整条路。所以我不得不写/usr/bin/java而不是java。完整的命令是“startx/usr/bin/java-jarapp.jar--”。这对我来说很有效,非常感谢。