当前位置: 首页>>技术教程>>正文


我怎样才能从终端执行.jar文件

, ,

问题描述

我知道要执行一个文件,我使用.命令,然后使用它们之间的空格的文件名。但是我试图使用.执行.jar文件,它不起作用。我进入了属性并将其标记为可执行文件,并使其可以与Java一起运行。

有没有办法在Bash Terminal中用Java执行文件?

command-line,java,ubuntu

我正在尝试执行Minecraft.jar文件。

最佳解决方法

.语法只能用于运行(通过”sourcing”)shell脚本。

您需要使用java命令来运行.jar文件:

java -jar Minecraft.jar

如果你没有安装java,你可以通过安装default-jre¹软件包来解决这个问题。您可以通过在终端中运行来查看是否已经安装了java:

java -version 

[1]:这将安装默认的openjdk Java运行时。如果您愿意,可以使用openjdk-8-jreopenjdk-7-jreopenjdk-6-jre,无论哪种版本的Ubuntu都可用。

次佳解决方法

Linux完全能够运行外部二进制文件,如JAR文件。例如,这就是Wine的工作原理。要将JAR文件作为可执行文件运行,请在控制台中执行以下操作

sudo apt-get install binfmt-support

Cd添加到您的JAR文件并将其更改为可执行文件(您也可以通过Nautilus中的文件属性执行此操作)

chmod a+rx myjar.jar

像运行其他二进制可执行文件或shell脚本一样运行你的jar文件

./myjar.jar

第三种解决方法

如果它是一个可执行的jar,那么

java -jar Minecraft.jar 

并非所有jar-Archives都包含一个可执行类,声明为在Manifest文件中启动,但如果存在,这将起作用。

顺便说一句:你不用点来从shell启动大多数程序。该点是source的快捷方式,它只能在bash和其他一些shell中运行,才能在当前会话的作用域中包含脚本。

一个编译好的二进制xybin只要在路径中就用它的名称开始:

xybin 

或者,绝对路径:

/home/foo/proj/test/xybin

或与其相对路径:

proj/test/xybin

或者如果您碰巧在文件的目录中,则使用以下相对路径:

./xybin

该文件必须标记为可执行文件(请参阅:chmod)。上述所有内容对于shellcript也是如此,但它们通常具有扩展名.sh,并且可以通过调用解释器来启动一个shellscript,然后它不需要被标记为可执行文件:

 bash xy.sh

如果你不想开始一个新的bash,你可以使用源代码,并且这样做可以使用函数定义,别名和变量设置。

第四种方法

您可能还想为Unity中的应用程序创建一个不错的条目。执行以下命令:

gedit ~/.local/share/applications/minecraft.desktop

在弹出的窗口中,复制并粘贴以下内容:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

您可能需要注销并返回以查看效果。 :)你也需要搜索一个不错的lookin Minecraft图标,因为他们没有提供下载..

第五种方法

  1. 使用CTRL + ALT + T打开命令提示符

  2. 转到您的”.jar”文件目录。如果你的Ubuntu版本支持它,你应该能够右键点击你的”.jar”文件的目录并点击“在终端中打开”

  3. 键入以下命令:

    java -jar jarfilename.jar
    

这样你的”.jar”文件就会执行。

第六种方法

安装jarwrapper。之后(通过添加可执行位),只需输入jarfile名称即可启动jar文件。

sudo apt-get install jarwrapper

这可以通过使用binfmt向内核添加对新二进制格式的支持。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1028.html,未经允许,请勿转载。