我拥有的:一个使用apache-commons-io库的外部GroovyScript
和一个工作的grails应用程序。
在现有的grails应用程序中,有不同的外部脚本(目前只有perl脚本),它们与grails异步执行(使用execute-Method)。
现在我得到了一个GroovyScript,我想要像运行PerlScripts一样运行它。
目前,该脚本在lib文件夹中有commons-io-library。它工作得很好。
所以我的问题是:如何以流畅整洁的方式为groovy-script提供来自grails的commons-io-library?我是否必须在通过execute-Method执行的命令中提供路径
例如:
groovy -cp=path/to/grailshome/lib.jar scripfile.groovy如果我在当前生产环境中将grailsapplication部署到tomcat中,这将不会真正起作用,因为来自grails的库位于不同的路径中。
将脚本放入grails的src/groovy文件夹可能会起作用,但这不是我想要的方式。脚本需要是独立的。
我真的被卡住了,因为我并不真正精通和groovy grails的技术细节。
即使是如何实现这一点的建议和想法也是足够的。
我希望你能理解这个问题,提前谢谢。
发布于 2012-03-19 21:00:25
这是不是一种使用Grapes并放入:
@Grab( 'commons-io:commons-io:2.1' )在你的groovy脚本的顶部会有帮助吗?
如果你把它当做一场战争来运行,那么这可能是可行的:
String path = grailsApplication.parentContext
.getResource( 'WEB-INF/lib/commons-io-1.4.jar' )
.file
.absolutePathhttps://stackoverflow.com/questions/9770607
复制相似问题