【问题标题】:How to run java application with built-in command line arguments?如何使用内置命令行参数运行 java 应用程序?
【发布时间】:2012-11-30 01:34:12
【问题描述】:

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

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

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

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

【问题讨论】:

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

标签: java macos command-line-arguments


【解决方案1】:

您可以通过在 main 方法或在应用程序一开始调用的其他方法中设置代码中的系统属性来做到这一点:

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

【讨论】:

    【解决方案2】:

    有必要用命令行来做吗?您可以使用 System.getProperty("os.name") 在代码中检查它。

    【讨论】:

      【解决方案3】:

      在我的 main 方法中,我会使用内置的 os.name 参数,如果没有另外设置,我会酌情默认你的命令行参数。

      【讨论】:

        【解决方案4】:

        我建议您将 .jar 捆绑到标准 mac .app 文件中。 然后,在 Info.plist 中,您可以指定各种运行时项,包括“Arguments”和“Properties”。看看http://developer.apple.com/library/mac/#documentation/Java/Reference/Java_InfoplistRef/Articles/JavaDictionaryInfo.plistKeys.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-26
          • 1970-01-01
          • 2021-11-26
          • 1970-01-01
          • 1970-01-01
          • 2023-03-24
          • 2016-03-11
          • 2015-04-21
          相关资源
          最近更新 更多