Grails中的Groovy Shell包含我的grails .lib /文件夹

时间:2011-09-13 20:50:24

标签: java grails groovy

我有一个grails应用程序,负责运行上传的groovy文件。然后我的应用程序查找上传的groovy文件,然后使用GroovyShell执行它们。

似乎我的grails lib文件夹中包含的任何.jar文件也被添加到我的GroovyShell的类路径中(这对我不好)。有没有办法获得一个不包含外部引用的“干净”类路径?

示例:

MyGrailsApp/lib/my-java-code.jar

my-java-code.jar包含一个名为com.ClassInExternalLib

的类
GroovyService{

    def runTask(){
        GroovyShell shell = new GroovyShell()
        shell.evaluate("assert new com.ClassInExternalLib() != null")

    }

}

1 个答案:

答案 0 :(得分:3)

只需将ClassLoader设置为Classloader,它只包含在构造GroovyShell时希望向GroovyShell公开的库。有关详细信息,请参阅Groovy API documentation