Shell 运行 .jar 的脚本可以从终端运行,但不能从 AppleScript 运行
Shell Script to Run .jar Works From Terminal but not AppleScript
我正在使用 shell 脚本来 运行 .jar 文件和输入参数。当我进入包含相关文件的文件夹并调用以下行时,一切正常。
cat 'prompt.csv' | sh runScript.sh 'WVFO'
我想从 AppleScript 运行 这个,当我使用下面的代码时,我得到一个错误
do shell script "cat 'path_to_file/prompt.csv' | sh path_to_file/runScript.sh 'WVFO'"
这是引发的错误:
error "Error: Could not find or load main class outputFocalAnalysis.FocalInfoEdge
Caused by: java.lang.ClassNotFoundException: outputFocalAnalysis.FocalInfoEdge" number 1
最后,这是我的 sh 代码:
echo "First arg: "
if [ = "WSO" ]; then
echo "WSO found"
java -cp MatrixPath2.0.jar outputFocalAnalysis/FocalInfoVertex
elif [ = "WVFO" ]; then
echo "Must be WVFO"
java -cp MatrixPath2.0.jar outputFocalAnalysis/FocalInfoEdge
else
echo "Argument 1 Invalid"
fi
文件夹结构如下:
Project
是包含 run.scpt
(AppleScript)、prompt.csv
、runScript.sh
和 MatrixPath2.0.jar
.
的主文件夹
编辑:
path_to_file
是该项目文件夹的完整路径,即 Users/my_name/Documents/Work/Project/prompt.csv
错误 Caused by: java.lang.ClassNotFoundException: outputFocalAnalysis.FocalInfoEdge"
表示 jar 未在类路径中正确设置。请尝试在您的 shell 脚本中执行以下操作
java -cp path_to_file/MatrixPath2.0.jar outputFocalAnalysis/FocalInfoVertex
我正在使用 shell 脚本来 运行 .jar 文件和输入参数。当我进入包含相关文件的文件夹并调用以下行时,一切正常。
cat 'prompt.csv' | sh runScript.sh 'WVFO'
我想从 AppleScript 运行 这个,当我使用下面的代码时,我得到一个错误
do shell script "cat 'path_to_file/prompt.csv' | sh path_to_file/runScript.sh 'WVFO'"
这是引发的错误:
error "Error: Could not find or load main class outputFocalAnalysis.FocalInfoEdge
Caused by: java.lang.ClassNotFoundException: outputFocalAnalysis.FocalInfoEdge" number 1
最后,这是我的 sh 代码:
echo "First arg: "
if [ = "WSO" ]; then
echo "WSO found"
java -cp MatrixPath2.0.jar outputFocalAnalysis/FocalInfoVertex
elif [ = "WVFO" ]; then
echo "Must be WVFO"
java -cp MatrixPath2.0.jar outputFocalAnalysis/FocalInfoEdge
else
echo "Argument 1 Invalid"
fi
文件夹结构如下:
Project
是包含 run.scpt
(AppleScript)、prompt.csv
、runScript.sh
和 MatrixPath2.0.jar
.
编辑:
path_to_file
是该项目文件夹的完整路径,即 Users/my_name/Documents/Work/Project/prompt.csv
错误 Caused by: java.lang.ClassNotFoundException: outputFocalAnalysis.FocalInfoEdge"
表示 jar 未在类路径中正确设置。请尝试在您的 shell 脚本中执行以下操作
java -cp path_to_file/MatrixPath2.0.jar outputFocalAnalysis/FocalInfoVertex