给定以下目录结构:
/home/some/random/foler/myScript.grooy
...如何以编程方式在脚本本身中获取 myScript.grooy 父目录的路径?
最终,我试图从脚本所在的同一目录中读取多个文件。
编辑:尝试在 Windows 7、Groovy 2.0.1、groovy 控制台上运行它
给定以下目录结构:
/home/some/random/foler/myScript.grooy
...如何以编程方式在脚本本身中获取 myScript.grooy 父目录的路径?
最终,我试图从脚本所在的同一目录中读取多个文件。
编辑:尝试在 Windows 7、Groovy 2.0.1、groovy 控制台上运行它
好吧,解决方案在 Java 的 File 类中:
println new File(".").absolutePath
如果您想获取同一目录中的每个 groovy 脚本,也许您可以使用 Groovy JDK 中的一些其他工具,例如eachFile
:
def files = []
new File(".").eachFile {
if (it.name.endsWith(".groovy") ) files << it
}
println files
如果您想要运行脚本名称,那么您遇到了问题(https://issues.apache.org/jira/browse/GROOVY-1642)
根据该 JIRA,这是当前的解决方法(并不总是有效):
URL scriptUrl = getClass().classLoader.resourceLoader
.loadGroovySource(getClass().name)