无法执行JAR文件


2

我在运行macOS High Sierra的MacBook上使用NetBeans,Java 8和JavaFX 8编写了一个小型Java桌面应用程序。我可以通过执行Bash脚本(如下所述)从终端启动它,但是在Finder中双击JAR失败(右键单击并选择“ 打开”也失败),并且我收到一条建议我在Console.app中寻找错误的提示,但是没什么其他线索的失败。这是一个非常专业的应用程序,我可能只会分发给不在终端机工作的几个同事。

Google搜索为我提供了过时的解决方案,而Oracle解决方案(过时)提供了一个被证明无用的链接。

要使Finder可执行JAR文件,我需要做什么?我如何获得更多有关问题的信息?由于未签名,可能是关守是罪魁祸首。

我的脚本~/bin包含在PATH中。我有一个文件夹,~/jars用于Java应用程序,每个都有自己的文件夹。在该文件夹中,我复制了project-> ... dist app.jar和具有外部jar库的libs文件夹。该脚本具有执行权限。这是脚本:

#!/bin/bash
java -jar $HOME/jars/myApp/myApp.

我可以从Terminal或Finder中启动该应用程序,但是第一次Finder会认为我要对其进行编辑,因此我必须选择Other,然后选择Terminal。顺便说一句,它在Ubuntu中的工作原理完全相同,我只是复制了脚本,将其放入~/bin,然后将myApp文件夹放入~/jars。它主要运行了,但是在Ubuntu机器上的JRE,而Java 8,比我的Mac上的版本要旧一些,过一会儿就会出现运行时错误。我认为更新到相同版本将解决该问题,因为我不知道如何强制NetBeans包含JRE。


1
无需双击运行文件,而是尝试右键单击并选择“打开”。
Nimesh Neema '18

@NimeshNeema谢谢,我也尝试过,并编辑了我的问题。
内特·洛克伍德

您可以共享用于启动应用程序的Bash脚本吗?
尼梅什·内玛(Nimesh Neema)

@NimeshNeema完成!
内特·洛克伍德

您可以Console.app在中的Utilities文件夹下找到/Applications。或者,调用启动板,打开Other文件夹,然后在其中找到控制台应用程序。控制台应用程序是macOS的日志查看器。
Nimesh Neema '18

Answers:


1

就我而言,我有一个在Snow Leopard中开发的Netbeans应用程序,但无法通过双击High Sierra来打开。

我不仅复制了应用程序的.jar,还复制了包含应用程序.jar的dist目录以及库目录,该目录包含了最初编译发行版时添加的其他6个.jar文件。

双击应用程序的.jar仍然不起作用,但是我可以通过将cd插入dist目录并使用来从终端启动“ my_app.jar”

java -jar my_app.jar

(注意:我安装了最新的JDK。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.