是)我有的:
使用apache-commons-io库的外部GroovyScript
和正在运行的grails应用程序
在现有的grails应用程序中,存在与grails异步执行(使用execute-Method)的不同外部脚本(到目前为止,仅perl脚本)。
现在,我得到了一个GroovyScript,它希望以与运行PerlScripts相同的方式运行。
目前,该脚本在lib文件夹中具有commons-io-library。它工作正常。
所以我的问题是:如何以一种平滑整洁的方式为groovy脚本提供来自grails的commons-io库?我是否必须在通过execute-Method执行的命令中提供路径
例如。:
groovy -cp=path/to/grailshome/lib.jar scripfile.groovy
如果我将grails应用程序部署到当前生产环境中的tomcat上,这将不会真正起作用,因为grails的库位于不同的路径中。
将脚本放入grails的src / groovy文件夹中可能会起作用,但这不是我想要的方式。该脚本必须是独立的。
我真的很固执,因为我并不精通groovy grails的技术细节。
甚至建议和想法都可以实现。
希望您能理解问题,在此先感谢
最佳答案
这是使用Grapes并放置以下内容的情况吗?
@Grab( 'commons-io:commons-io:2.1' )
常规脚本的顶部会有所帮助吗?
如果您将其作为 war 来进行,那么这可能会起作用:
String path = grailsApplication.parentContext
.getResource( 'WEB-INF/lib/commons-io-1.4.jar' )
.file
.absolutePath
关于grails - Grails:为外部groovy脚本提供库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770607/