无法在Groovy中成功导入类?
我在一个文件名为business.groovy创建了一个二级名为供应商和地址(这是我使用的名称业务创建的软件包) 而在同一个文件夹我创建的进口业务的另一个Groovy代码打包并使用Vendor类属性(供应商是业务包中的类)。但是,当我尝试创建在Groovy脚本的供应商一个对象时,它抛出错误,指出:无法在Groovy中成功导入类?
/home/Anto/Groovy/pakg/Imports.groovy:2:无法解析类供应商 @行2,第13栏。 def canoo = new Vendor()
我该怎么办?我哪里做错了?
这是我创建的文件: business.groovy
package business
class Vendor {
public String name
public String product
public Address address = new Address()
}
class Address {
public String street, town, state
public int zip
}
impotTesting.groovy
import business.*
def canoo = new Vendor()
canoo.name = 'Canoo Engineering AG'
canoo.product = 'UltraLightClient (ULC)'
,当我尝试通过执行importTesting.groovy文件使用groovy importTesting命令,我得到错误正如我之前提到的!
我建议你可以选用一些构建工具像Ant或Gradle,或IDE像IntelliJ IDEA来控制你的classpath /编译/运行时的需求。
编辑:这应该是这样的:
baseDir/business/business.groovy
baseDir/impotTesting.groovy
你编译的类也应该像相同的目录结构:
baseDir/business/business*.class
baseDir/impotTesting*.class
那么你基本目录应该被添加到CLASSPATH。
我只是使用Vim编辑器来达到这个目的! – 2011-03-07 14:44:20
然后您需要修改您的CLASSPATH变量以包含编译的Groovy文件所在的文件夹。 – 2011-03-07 14:45:07
雅我的groovy文件正在编译和运行使用命令(groovyc和groovy),但问题是在包:( – 2011-03-07 14:46:38
一个解决方案是创建包含各自类定义的Vendor.groovy和Address.groovy。
我刚刚在学习Groovy时遇到过类似的问题。 为了使用groovy
命令(使用Groovy 2.4.12测试)命令行运行你的榜样,你应该:你的src文件作为@Andrey阿达莫维奇的
- 按照目录结构建议。因此,您的
.groovy
文件都应驻留在business
文件夹中 - 打开
cmd
,请导航至business
文件夹的父级,例如,src/main/groovy
我的项目(我有结构src/main/groovy/business
)。 - 与命令执行该脚本
groovy business/importTesting.groovy
你用什么来编译和运行Groovy脚本?一些IDE或构建工具? – 2011-03-07 14:40:57