【发布时间】:2012-08-11 02:12:31
【问题描述】:
给定以下目录结构:
/home/some/random/foler/myScript.grooy
...如何在脚本本身中以编程方式获取 myScript.grooy 父目录的路径?
最终我试图从脚本所在的同一目录中读取多个文件。
编辑:试图在 Windows 7、Groovy 2.0.1、groovy 控制台上运行它
【问题讨论】:
标签: groovy groovy-console
给定以下目录结构:
/home/some/random/foler/myScript.grooy
...如何在脚本本身中以编程方式获取 myScript.grooy 父目录的路径?
最终我试图从脚本所在的同一目录中读取多个文件。
编辑:试图在 Windows 7、Groovy 2.0.1、groovy 控制台上运行它
【问题讨论】:
标签: groovy groovy-console
嗯,解决方案在 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)
【讨论】: