我正在尝试编写一个运行 .jar 文件的脚本。以下命令可从终端运行(来自 .jar 文件夹):
java -jar "./myjavatest.jar"
当我将此行放在一个文件中并从同一个文件夹中运行它(使用终端或在查找器中双击)时,我得到“无法访问 jarfile ./myjavatest.jar”。
我发现当我双击一个文件时,它实际上是从用户主目录运行的。是否可以从文件所在的文件夹中运行它?
我正在尝试编写一个运行 .jar 文件的脚本。以下命令可从终端运行(来自 .jar 文件夹):
java -jar "./myjavatest.jar"
当我将此行放在一个文件中并从同一个文件夹中运行它(使用终端或在查找器中双击)时,我得到“无法访问 jarfile ./myjavatest.jar”。
我发现当我双击一个文件时,它实际上是从用户主目录运行的。是否可以从文件所在的文件夹中运行它?
我发现当我双击一个文件时,它实际上是从用户主目录运行的。是否可以从文件所在的文件夹中运行它?
就在这里:
SOURCE="${BASH_SOURCE[0]}"
DIR="$( dirname "$SOURCE" )"
while [ -h "$SOURCE" ]
do
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
cd "$DIR"
java -jar myjavatest.jar
您是否尝试过更改文件和目录的权限chmod 755 javatest.jar
?
我在尝试执行包含以下内容的 .sh 文件时遇到了这个问题: java -Dlog4j.configuration=file:log4j.properties -jar -Dfile.encoding=ISO-8859-1 mainRPV.jar
问题是由于某种原因文件格式被更改为 DOS 而不是 UNIX,可能是因为它已被编辑并保存在 Windows 中。它与行尾有关
尝试用 vim 打开文件并运行这个命令:set ff=unix
问候!