gpt4 book ai didi

java - 使用 VM 参数导出 jar

转载 作者:行者123 更新时间:2023-11-30 09:11:02 25 4
gpt4 key购买 nike

我用 Eclipse 编写了一个 Java 应用程序,该应用程序将 SWT 用于 UI。 (详见 SWT Exception when running jar: Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access)。

我导出为 JAR,但无法从 Finder 和终端运行它。我终于让它从终端运行 java -XstartOnFirstThread -jar CommonDenom.jar

但是,当我从 Eclipse 导出为 JAR 时,我仍然无法运行它。这是因为它在导出时需要与其捆绑在一起的参数 -XstartOnFirstThread。然后我注意到在 Properties >> Run/Debug Settings >> commonDenom >> Edit >> (x)= Arguments 中有一个复选框,上面写着“使用 -XstartOnFirstThread 使用 SWT 启动时的参数。”但是已经查过了。所以我认为此选项仅适用于使用 Eclipse 启动代码时,不适用于导出的 JAR。

因此,我将参数手动添加到同一选项卡中的 VM Arguments 框中。当我导出为可运行 JAR 时,我注意到一条警告,内容为“VM arguments will not be part of the runnable JAR. Arguments can be passed on the command line when launching the JAR.

最终,我需要一种方法让它从 finder(无论是 JAR 还是其他)启动,而无需打开终端并手动启动它。是的,我可以写一个 Shell 脚本来启动它,但我觉得必须有更简单的方法。

最佳答案

您有两个选择。简单的方法是创建一个 shell 脚本:

#!/bin/bash
java -XstartOnFirstThread -jar CommonDenom.jar

用户运行脚本,设置参数并运行 Java。

另一种方法是创建一个 Application Bundle .它包含一个属性文件 (Info.plist),您可以在其中设置这些属性。您还可以使用 Oracle 的 appbundler tool创建应用程序包。

关于java - 使用 VM 参数导出 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22286974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com