首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双击macOS启动jar文件

双击macOS启动jar文件
EN

Stack Overflow用户
提问于 2020-08-08 20:40:00
回答 1查看 1.3K关注 0票数 2

我有一个可执行的jar文件,它通过以下命令在我的macOS系统上执行得很好:

代码语言:javascript
运行
复制
java -jar Hello.jar

然而,当我试图双击它时,它会停下来,最后显示一个弹出式对话框:

Java文件"Hello.jar“无法启动。检查控制台是否可能出现错误或消息。

我在网上搜索了相当多的内容,所有的建议都是从shell脚本调用java或将jar文件包装成本机可执行文件的明显解决方案。对于这个特定的问题,我想将讨论限制在macOS上如何通过双击jar文件本身而不修改jar文件来执行jar文件?

我对两种类型的Java应用程序进行了测试--第一行命令行和GUI应用程序。

命令行应用程序

代码语言:javascript
运行
复制
import java.util.Scanner;

public class Hello {

    public static void main(String[] args) {
        System.out.println("Hello, please enter some input");
        Scanner scan = new Scanner(System.in);
        String s = scan.next();
        System.out.println(s);
        scan.close();
    }

}

然后,我将使用以下命令进行编译和捆绑:

代码语言:javascript
运行
复制
javac Hello.java
jar cvfe Hello.jar Hello Hello.class

GUI应用程序

代码语言:javascript
运行
复制
import java.io.File;
import javafx.application.Application;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class FileChooserExample extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        FileChooser fileChooser = new FileChooser();

        File selectedFile = fileChooser.showOpenDialog(primaryStage);
        System.out.println(selectedFile.getAbsolutePath());
    }
}

编译方式与命令行应用程序相同。有趣的是,GUI在双击Windows时工作,但在macOS上有错误。如何通过双击jar文件本身在macOS上执行jar文件,而无需修改jar文件?

编辑:如果系统尚未安装,我也无法在系统上加载任何其他可执行文件。我最好是通过使用任何标准的Java发行版(例如,OpenJDK、Oracle等)配置系统来寻找一种方法来实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2020-08-08 21:12:33

您可以编写一个简单的基于文档的应用程序,它接收一个jar文件并使用java命令执行它。

完成这些操作后,在双击jar文件时,按照以下步骤使其成为处理程序:

  1. 在Finder中选择任何jar文件。
  2. 右击它并选择“获取信息”
  3. 在"open“下,选择您的jar-opener应用程序,然后单击"change”,这样这个新的选择就适用于所有的jar。

请注意,应用程序打开的选择对话框最初仅限于“推荐的应用程序”。底部有一个组合框,允许您将其更改为“所有应用程序”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63320019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档