我有一个在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 回答
好的 - 我想我已经解决了这个问题 .
看起来好像是错误
url.file
传递完整的绝对路径,包括file:
协议到gse - 我把它改为“config.props
”,它似乎已经超过了这个(现在还有另一个错误,但似乎还在继续) .