问题描述
我知道要执行一个文件,我使用.
命令,然后使用它们之间的空格的文件名。但是我试图使用.
执行.jar文件,它不起作用。我进入了属性并将其标记为可执行文件,并使其可以与Java一起运行。
有没有办法在Bash Terminal中用Java执行文件?
我正在尝试执行Minecraft.jar文件。
最佳解决方法
.
语法只能用于运行(通过”sourcing”)shell脚本。
您需要使用java
命令来运行.jar
文件:
java -jar Minecraft.jar
如果你没有安装java,你可以通过安装default-jre
¹软件包来解决这个问题。您可以通过在终端中运行来查看是否已经安装了java:
java -version
[1]:这将安装默认的openjdk Java运行时。如果您愿意,可以使用openjdk-8-jre
或openjdk-7-jre
或openjdk-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图标,因为他们没有提供下载..
第五种方法
-
使用
CTRL
+ALT
+T
打开命令提示符 -
转到您的”.jar”文件目录。如果你的Ubuntu版本支持它,你应该能够右键点击你的”.jar”文件的目录并点击“在终端中打开”
-
键入以下命令:
java -jar jarfilename.jar
这样你的”.jar”文件就会执行。
第六种方法
安装jarwrapper。之后(通过添加可执行位),只需输入jarfile名称即可启动jar文件。
sudo apt-get install jarwrapper
这可以通过使用binfmt
向内核添加对新二进制格式的支持。