从JAR加载Groovy配置文件时出错

时间:2013-07-09 15:50:58

标签: groovy jar

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

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

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

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,并检查文件是否存在/拼写正确。

1 个答案:

答案 0 :(得分:1)

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

看起来错误在

gse.run(url.file, binding)

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

相关问题