【发布时间】:2011-06-17 16:37:31
【问题描述】:
为什么当我运行 Eclipse Groovy 项目时,同一包中的脚本彼此不可见?为什么我必须明确定义脚本引擎的目录。为什么 new GroovyScriptEngine( "C:/Eclipse/workspace/Stack/src" ) 不起作用?
package com.test
import groovy.lang.Binding
import groovy.util.GroovyScriptEngine
Binding binding = new Binding()
// explicitly defined path to where Hello.groovy script is located
GroovyScriptEngine gse = new GroovyScriptEngine( "C:/Eclipse/work/S/src/com/test" )
gse.run( "Hello.groovy", binding )
另一种可行的方法是:
GroovyScriptEngine gse = new GroovyScriptEngine( [ './com/test' ] as String[] )
gse.run( "Hello.groovy", binding )
当我尝试在 src 目录中使用脚本引擎运行时遇到的错误是:
// project working directory is C:/Eclipse/work/S/src
GroovyScriptEngine gse = new GroovyScriptEngine( "C:/Eclipse/work/S/src" )
.....
Caught: groovy.util.ResourceException:
Cannot open URL: file:/C:/Eclipse/work/S/src/Hello.groovy
at com.test.TestExample.run(TestExample.groovy:9)
这是一个与this类似的问题。
【问题讨论】:
-
自动还是自动?
-
我不自觉地讨厌这个词
标签: java groovy package packages