在groovy中获取script的文件全路径

Groovy的windows脚本中,设定-Dscript.name为script的全路径。

不过,在groovy的网站上查到一个bug报告,似乎linux脚本中对这个值的设定跟windows下的不一致。

如果为了保险,干脆自己改造启动脚本好了。

 

windows下,实际的处理在startGroovy.bat中。

找到 set GROOVY_SCRIPT_NAME=%~f1

在后面加上

set GROOVY_SCRIPT_FILE=%~f1
set GROOVY_SCRIPT_PATH=%~dp1

找到 set JAVA_OPTS=%JAVA_OPTS% -Dscript.name="%GROOVY_SCRIPT_NAME%"

加上

set JAVA_OPTS=%JAVA_OPTS% -Dscript.file="%GROOVY_SCRIPT_FILE%"

set JAVA_OPTS=%JAVA_OPTS% -Dscript.path="%GROOVY_SCRIPT_PATH%\"

 

%GROOVY_SCRIPT_PATH%后的 '\' 是为了避免路径结束的 '\'跟 " 组合 变成 \"的转义。 

 

明白了windows下 %~f1是取第一个参数的文件全路径。

%~dp1 是取第一参数的盘符加路径。 (改变最后的数字,就是不同的参数)

你可能感兴趣的:(在groovy中获取script的文件全路径)