如何使用内置命令行参数运行java应用程序?

如何使用内置命令行参数运行java应用程序?,java,macos,command-line-arguments,Java,Macos,Command Line Arguments,我正在制作一个Java应用程序,它存储在一个.jar文件中,可以通过从命令行或单击图标打开jar文件来启动 对于Mac版本的应用程序,我希望菜单栏以Mac样式显示在屏幕顶部,而不是窗口(Windows样式)。我知道这可以通过命令行完成: java-jar-App.jar-Dcom.apple.macos.useScreenMenuBar=true 但是,如果用户不知道如何做,这将不起作用。有没有办法将这个命令行参数“内置”到jar文件中?是否需要使用命令行?您可以在代码中使用System.get

我正在制作一个Java应用程序,它存储在一个.jar文件中,可以通过从命令行或单击图标打开jar文件来启动

对于Mac版本的应用程序,我希望菜单栏以Mac样式显示在屏幕顶部,而不是窗口(Windows样式)。我知道这可以通过命令行完成:

java-jar-App.jar-Dcom.apple.macos.useScreenMenuBar=true


但是,如果用户不知道如何做,这将不起作用。有没有办法将这个命令行参数“内置”到jar文件中?

是否需要使用命令行?您可以在代码中使用System.getProperty(“os.name”)。

在我的主方法中,我会使用内置的os.name参数,如果没有其他设置,我会根据需要默认命令行参数。

您可以通过在主方法或在应用程序最开始时调用的其他方法的代码中设置system属性来实现这一点:

System.setProperty("com.apple.macos.useScreenMenuBar", "true")

我建议您将.jar捆绑到一个标准的mac.app文件中。
然后,在Info.plist中,可以指定各种运行时项,包括“参数”和“属性”。看一看

谢谢大家!正确的代码是:`if(System.getProperty(“os.name”).equals(“Mac os X”){System.setProperty(“apple.laf.useScreenMenuBar”,“true”);}`