我是Mac开发的新手。
我尝试创建project.sh文件并通过终端
运行它有关详细信息,请参阅mac.zip。
主类(com.myclass.MyClass)位于" main.jar"这需要lib1.jar,lib2.jar和sublib1.jar
" CLASSPATH"属于" project.sh"是通过脚本创建的,不能在project.sh
中更改值始终采用相对路径格式,例如" ../../ lib / lib1.jar"
当我尝试从" mac / project"通过Mac终端包含main.jar和project.sh的目录
它可以正常运行
Gui-iMac:project gui$ ./project.sh
AClass
BClass
CClass
但是,当我尝试从其他目录运行project.sh时,它失败了。
例如:从桌面目录运行:
Gui-iMac:desktop gui$ "/Users/gui/Desktop/GUI/Mac/project/project.sh"
Error: Could not find or load main class com.myclass.MyClass
如何从其他目录运行project.sh?
请帮我解决这个问题。
提前致谢。
earist
答案 0 :(得分:0)
我不知道这是您正在寻找的答案,但是可以使用其他目录运行.sh脚本
$sh /Users/gui/Desktop/GUI/Mac/project/project.sh
答案 1 :(得分:0)
现在,我找到了解决这个问题的方法。
使用
cd“$ directoryName”&&执行“$ myCommand”
如下:
#!/bin/bash
BASE=$(dirname "$0")
ARGS=""
if [ $# -gt 1 ]; then
while [ $# -ge 1 ]; do
case "$1" in
-[a-z]*) ARGS="$ARGS $1" ;;
*) ARGS="$ARGS \"$1\"" ;;
esac
shift
done
fi
CLASSPATH=.:../lib/lib1.jar:../lib/lib2.jar:./lib/sublib1.jar:./main.jar
JAVA_COMMAND=java
VM_OPTIONS="-Xmx800M"
EXEC_COMMAND="cd \"$BASE\" && exec $JAVA_COMMAND $VM_OPTIONS -cp $CLASSPATH com.myclass.MyClass $ARGS"
eval $EXEC_COMMAND