是我的Jar双击了还是从命令行启动的?

时间:2018-08-13 07:12:36

标签: java

我的Jar文件支持单击并从命令行启动。

仅当通过选中GraphicsEnvironment.isHeadless()

可以使用图形环境时,才显示GUI。

如果用户双击jar文件,我希望能够将日志打印到磁盘上的文件,如果从命令行启动,则将它们打印到控制台。

我无法找到答案,是否存在任何跨平台环境变量,或者我可以查看的其他信息,以了解用户是否使用 java -jar app.jar启动了我的程序,还是他们是否双击了.jar文件?

1 个答案:

答案 0 :(得分:2)

一种方法是确定控制台何时为空:

public static void main(String[] args) {
    Console console = System.console();
    if(console!=null){
        System.out.println("Console is not null");
    }else{
        System.out.println("Console is null");
    }
}

尝试使用以下命令从命令行运行代码:

java -jar [your_runnable_file.jar]
相关问题