首页 文章

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

提问于
浏览
1

我有一个在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 回答

  • 1

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

    看起来好像是错误

    gse.run(url.file, binding)
    

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

相关问题