grails - Grails:为外部groovy脚本提供库

标签 grails groovy classpath

是)我有的:
使用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/

相关文章:

grails - 保存第二版本的grails对象

Grails - 如何实现不使用 id 列的外键关系?

grails - 通过 Grails 中 gsp 的参数发送 LocalTime 对象

grails - 建立搜寻标准并不容易?

java - 从 Eclipse 内部运行时如何访问 <tomcat>\bin\*.properties?

java - 在运行时将 dex 添加到 Android 类路径

classpath - 将类路径添加到 Maven 中包含属性文件的文件夹

grails - 如何在IntelliJ中获取Grails的所有源代码

groovy - 重置 gradle 任务的 UP-TO-DATE 属性?

grails - 在 Grails Controller 中打开或下载 URL 链接