Java—了解GUI或CLI是否可用

Java—了解GUI或CLI是否可用,java,windows,windows-services,Java,Windows,Windows Services,我们有一个Java服务器应用程序,它使用YAJSW作为windows服务运行。有时,服务器启动时会提示用户输入特定内容,当有GUI(通过对话框)或命令行(通过命令行输出和输入)时,可能会出现这种提示。但是,当作为windows服务运行时,无法要求用户输入 有没有办法确定是否没有GUI和CLI可用 据我所知,如果CLI可用,GraphicsEnvironment#ishadless总是返回true,因此作为Windows服务运行时也会返回true。因此,我无法区分这两种模式 我想我可以做的是,只需

我们有一个Java服务器应用程序,它使用YAJSW作为windows服务运行。有时,服务器启动时会提示用户输入特定内容,当有GUI(通过对话框)或命令行(通过命令行输出和输入)时,可能会出现这种提示。但是,当作为windows服务运行时,无法要求用户输入

有没有办法确定是否没有GUI和CLI可用

据我所知,如果CLI可用,
GraphicsEnvironment#ishadless
总是返回true,因此作为Windows服务运行时也会返回true。因此,我无法区分这两种模式

我想我可以做的是,只需将命令行参数传递给java服务器应用程序(例如
--iswindowsservice
),程序员就可以区分CLI和windows服务模式


有没有更好的方法来解决这个问题?

如果有疑问,该参数是一种有效的方法。或者,使用ENV变量或系统属性也可以。好主意,系统属性听起来更容易。但是我假设在不手动传递任何信息的情况下,没有内置的方法来确定这个状态,对吗?如果我知道的话,我已经写了一个答案;-)说得好,我今天有点慢^^