Java 执行JAR的bash脚本的位置
我有一个bash脚本来执行我的JAR。我希望JAR(或java代码)知道执行它的脚本的位置。有哪些可能的解决方案 您可以将此信息发送到java程序。在bash脚本中,您可以获得bash脚本的目录:Java 执行JAR的bash脚本的位置,java,bash,Java,Bash,我有一个bash脚本来执行我的JAR。我希望JAR(或java代码)知道执行它的脚本的位置。有哪些可能的解决方案 您可以将此信息发送到java程序。在bash脚本中,您可以获得bash脚本的目录: DIR="$(pwd)/$(dirname ${BASH_SOURCE[0]})" java -jar foo.jar $DIR 在java代码中检索它: public static void main(String[] args) { try { String path = args
DIR="$(pwd)/$(dirname ${BASH_SOURCE[0]})"
java -jar foo.jar $DIR
在java代码中检索它:
public static void main(String[] args) {
try {
String path = args[0];
}
catch (Exception e){
System.out.println("error");
}
}
pwd
给出了当前的工作目录,它不一定是脚本的位置。你是对的,但是pwd
误导了我,为什么你把它放在那里(不提所有的引用)?我只需使用DIR=“$(dirname${BASH_SOURCE[0]})”
就可以获得正确的目录,因为我想获得完整的路径,而不是相对于运行脚本的位置。我的答案是否提供了解决问题所需的信息?