这两个命令行执行.jar的区别?
Difference betwen these two command lines to execute .jar?
当我使用此命令行执行 .jar 时(这是在脚本中找到的命令):
./MyJar.jar AUTO
我有这些错误:
./MyJar.jar: 1: ./MyJar.jar: PK: not found
./MyJar.jar: 2: ./MyJar.jar:: not found
./MyJar.jar: 3: ./MyJar.jar: ��H: not found
./MyJar.jar: 4: ./MyJar.jar:: not found
./MyJar.jar: 5: ./MyJar.jar: Ant-Version:: not found
./MyJar.jar: 6: ./MyJar.jar: Syntax error: "(" unexpected
但是当我用这个命令行执行时,它起作用了:
java -jar MyJar.jar
- 我的第一个问题是:"What's the difference between these two command lines ?"
- 我的第二个问题是:"Why am I not able to execute MyJar.jar with the first command line ?"
我找到了第二个问题的答案。为了能够以这种方式执行我的 jar:
./MyJar.jar AUTO
我需要安装 binfmt-support 包:
sudo apt-get install binfmt-support
通常,如果任何文件试图直接由 Linux 执行,终端文件头信息应由 OS 识别。
例如:
#!/bin/bash
echo "Hello World"
或
#!/usr/bin/python
print "Hello World"
你可以看到 OS 会理解第一个脚本应该是 /bin/bash 解释器 运行,第二个是 python 解释器。
似乎 OS 不明白如何执行您的 ./MyJar.jar 文件。
但是jar可以直接看懂你的文件内容
当我使用此命令行执行 .jar 时(这是在脚本中找到的命令):
./MyJar.jar AUTO
我有这些错误:
./MyJar.jar: 1: ./MyJar.jar: PK: not found
./MyJar.jar: 2: ./MyJar.jar:: not found
./MyJar.jar: 3: ./MyJar.jar: ��H: not found
./MyJar.jar: 4: ./MyJar.jar:: not found
./MyJar.jar: 5: ./MyJar.jar: Ant-Version:: not found
./MyJar.jar: 6: ./MyJar.jar: Syntax error: "(" unexpected
但是当我用这个命令行执行时,它起作用了:
java -jar MyJar.jar
- 我的第一个问题是:"What's the difference between these two command lines ?"
- 我的第二个问题是:"Why am I not able to execute MyJar.jar with the first command line ?"
我找到了第二个问题的答案。为了能够以这种方式执行我的 jar:
./MyJar.jar AUTO
我需要安装 binfmt-support 包:
sudo apt-get install binfmt-support
通常,如果任何文件试图直接由 Linux 执行,终端文件头信息应由 OS 识别。 例如:
#!/bin/bash
echo "Hello World"
或
#!/usr/bin/python
print "Hello World"
你可以看到 OS 会理解第一个脚本应该是 /bin/bash 解释器 运行,第二个是 python 解释器。
似乎 OS 不明白如何执行您的 ./MyJar.jar 文件。 但是jar可以直接看懂你的文件内容