如何使.jar文件可执行?

我正在尝试在Ubuntu下运行一个jar应用程序,所以我安装了OpenJDK Java 7 Runtime,但是当我打开这个应用程序时,我收到了这条消息:

文件’/home/aimad/Programms/jMerise/JMerise.jar’未标记为可执行文件。 如果从不受信任的来源下载或复制此内容,则运行可能会有危险。 有关更多详细信息,请阅读可执行位。

您始终可以通过执行java -jar JMerise.jar来运行jar文件。

但是,要使jar文件本身可执行,您需要设置可执行位,如消息提示。 chmod +x /home/aimad/Programms/jMerise/JMerise.jar将完成此任务。

之后你可以做./JMerise.jar来运行它。

man chmod将为您提供有关chmod如何工作的信息。

另请参阅: https : //wiki.ubuntu.com/Security/ExecutableBit

右键单击该文件,单击属性,然后转到“权限”选项卡,并选中“允许将该文件作为程序执行”框。

在此处输入图像描述

首先,您需要确保系统上有合适的Java运行时环境。 Ubuntu在官方仓库中有openjdk,与Oracle Java兼容99.99%,安装类型:

sudo apt-get install openjdk-7-jre

接下来在~/.local/share/applications创建一个名为java-jar-launcher.desktop的文件,并将以下内容放入其中:

 [Desktop Entry] Type=Application Name=Java Application Launcher Icon=java Exec=/usr/bin/java -jar %U Categories=Application;Java Terminal=False 

接下来在~/.local/share/applications/mimeapps.list添加以下行:

application/x-java-archive=java-jar-launcher.desktop;

现在你应该能够双击jar文件来启动它们,如果没有任何反应,那么右键单击一个jar文件,选择属性然后转到“打开方式”选项卡,你应该看到“Java Application Launcher”,选择那个。

这种方法是可以忍受的(恕我直言),因为这样你就不会给jar文件赋予执行权限,这可能是有潜在危险的。 此方法仅适用于图形环境,需要用户手动双击该文件。

如果从命令行运行.jar文件( java -jar myFile.jar ),但在GUI中双击它不会,如果sudo chmod +x myFile.jar似乎成功但你仍然无法打开双击,如果右键单击.jar文件>属性>权限>“允许执行文件作为程序”不起作用(即,单击它后复选框切换回来),那么.jar文件可能是在NTFS文件系统上,它不允许基于每个文件的执行权限。 (例如,如果您使用双启动,并且在Ubuntu和Windows之间具有共享NTFS分区,则可能会出现此问题)。

创建一个启动器(如@tusharkant15所描述的)将起作用,因为在幕后你正在执行/usr/bin/java ,而不是.jar文件本身。 将.jar文件移动到非NTFS的其他文件系统也可以。

Interesting Posts