目前我正在研究一个bash脚本,该脚本为deb包准备文件层次结构,该包应该包含一个Java jar文件。该程序称为safeplace,jar的名称是safeplace.jar。
这段代码可以解决问题:
JAR_FILE=$PROGRAM_NAME.jar
cp $JAR_FILE $TEMP_DIR/debian/usr/share/$PROGRAM_NAME/
成功复制jar后不久(/tmp/debian/usr/share/safeplace/safeplace.jar)bash抛出此错误
错误:无法访问jarfile /usr/share/safeplace/safeplace.jar
并在不退出的情况下停止。
这条线似乎是罪魁祸首:
echo "java -jar /usr/share/$PROGRAM_NAME/$PROGRAM_NAME.jar" >> $TEMP_DIR/debian/usr/bin/$PROGRAM_NAME
但为什么bash会调用jar?它应该将“java -jar /usr/share/$PROGRAM_NAME/$PROGRAM_NAME.jar”添加到不执行它的文件中。
我的机器在Debian Wheezy 7.7上运行。
有什么想法吗?