如何使.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的其他文件系统也可以。