无法在Groovy中成功导入类?

无法在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命令,我得到错误正如我之前提到的!

+0

你用什么来编译和运行Groovy脚本?一些IDE或构建工具? – 2011-03-07 14:40:57

我建议你可以选用一些构建工具像AntGradle,或IDE像IntelliJ IDEA来控制你的classpath /编译/运行时的需求。

编辑:这应该是这样的:

baseDir/business/business.groovy 
baseDir/impotTesting.groovy 

你编译的类也应该像相同的目录结构:

baseDir/business/business*.class 
baseDir/impotTesting*.class 

那么你基本目录应该被添加到CLASSPATH。

+0

我只是使用Vim编辑器来达到​​这个目的! – 2011-03-07 14:44:20

+0

然后您需要修改您的CLASSPATH变量以包含编译的Groovy文件所在的文件夹。 – 2011-03-07 14:45:07

+0

雅我的groovy文件正在编译和运行使用命令(groovyc和groovy),但问题是在包:( – 2011-03-07 14:46:38

一个解决方案是创建包含各自类定义的Vendor.groovy和Address.groovy。

我刚刚在学习Groovy时遇到过类似的问题。 为了使用groovy命令(使用Groovy 2.4.12测试)命令行运行你的榜样,你应该:你的src文件作为@Andrey阿达莫维奇的

  1. 按照目录结构建议。因此,您的.groovy文件都应驻留在business文件夹中
  2. 打开cmd,请导航至business文件夹的父级,例如, src/main/groovy我的项目(我有结构src/main/groovy/business)。
  3. 与命令执行该脚本groovy business/importTesting.groovy