如何在groovy(或java)中查找当前的基本执行目录?
我有一个小脚本,我正在使用一个参数来传递当前的执行目录,但是我想让它更健壮一些 如何找到基本执行目录?试试以下方法:如何在groovy(或java)中查找当前的基本执行目录?,java,groovy,Java,Groovy,我有一个小脚本,我正在使用一个参数来传递当前的执行目录,但是我想让它更健壮一些 如何找到基本执行目录?试试以下方法: System.getProperty("user.dir"); 根据安全模型,如果不允许使用System.getProperty(String),则可以使用 String currentDir = new File(".").getAbsolutePath() 供参考: 这个问题的公认答案正是我想要的 例如,当从c:\users\Scott\调用c:\scripts\MySc
System.getProperty("user.dir");
根据安全模型,如果不允许使用
System.getProperty(String)
,则可以使用
String currentDir = new File(".").getAbsolutePath()
供参考:
这个问题的公认答案正是我想要的
例如,当从c:\users\Scott\
调用c:\scripts\MyScript.groovy时,我想知道c:\scripts\
这是通过以下方式实现的:
def scriptDir=getClass().protectionDomain.codeSource.location.path
其中,scriptDir的分配方式如下:
/c:/scripts/MyScript.groovy
相关问题:谢谢Tim。我在那个问题上使用了公认的答案。这种变通方法不会有帮助。如果无法访问所需的系统属性值,getAbsolutePath()
的javadoc会抛出“SecurityException
”。它应该是新文件(“.”)。getAbsoluteFile().getParent()-这会从路径中删除尾随的“/”。是的,这是第一个想法,但它只给出从何处调用脚本的路径,不是脚本所在的地方(我的问题可能措辞有点混乱)。或者System.properties['user.dir']
用groovy语法略短一些。是的,你的问题措辞不好。您需要询问“如何获取类的位置”。很高兴你找到了答案。