1

我有一个在 jar 中编译的 Groovy 代码上运行的应用程序。

groovy 代码都已正确加载/执行,但是,我有一个步骤尝试从 JAR 的根目录加载 groovy-config 文件,但它失败了。

下面的代码来自一个从 JAR 运行的 groovy 类,这里它尝试config.props从 jar 的根目录加载 groovy 配置文件:

URL url = this.getClass().getClassLoader().getResource("config.props")
logger.info( url.toString() )
if(!url)throw new IllegalArgumentException("'$resource' not found ")
GroovyScriptEngine gse = new GroovyScriptEngine( url )
...
gse.run(url.file, binding)

当我运行上面我得到以下错误:

Message: Cannot open URL: jar:file:/usr/local/libs/test-all.jar!/config.props

有谁知道如何从 jar 的根目录加载文件?我暂时将权限设置为 777 并检查文件是否存在/拼写正确。

4

1 回答 1

1

好的 - 我想我已经解决了这个问题。

看起来错误出现在

gse.run(url.file, binding)

url.file包括协议在内的完整绝对路径传递file:给 gse - 我将其更改为“ config.props”,它似乎已经过去了(现在还有另一个错误,但似乎更进一步)。

于 2013-07-09T16:18:25.540 回答