我们有一个使用YAJSW的Java服务器应用程序,以便作为Windows服务运行。有时,会在服务器启动时提示用户输入特定内容,例如当存在GUI(通过对话框)或命令行(通过命令行输出和输入)时,会发生这种提示。但是,当作为Windows服务运行时,无法要求用户输入。
有没有办法找出是否没有GUI和CLI?
据我所知,GraphicsEnvironment#isHeadless
始终在CLI可用时返回true,因此在作为Windows服务运行时也将返回true。因此,我将无法区分这两种模式。
我想我能做的就是简单地将命令行参数传递给java服务器应用程序(例如--iswindowsservice
),从而允许程序员区分CLI和Windows服务模式。
有没有更好的方法来解决这个问题?