无法成功导入Groovy中的类?

时间:2011-03-07 14:38:41

标签: groovy

我在一个名为business.groovy的文件中创建了一个名为供应商地址的两个类(这是我使用名称 business 创建的包) 在同一个文件夹中,我创建了另一个groovy代码,用于导入业务包并使用Vendor类属性(Vendor是业务包中的类)。但是当我尝试在那个groovy脚本中为Vendor创建一个对象时,它会抛出错误声明:

  

/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)'

当我尝试使用 groovy importTesting 命令执行 importTesting.groovy 文件时,我收到了前面提到的错误!

3 个答案:

答案 0 :(得分:3)

我建议您使用某些构建工具(如AntGradle)或IDE(如IntelliJ IDEA)来控制类路径/编译/运行时需求。

编辑:它应该是这样的:

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

您编译的类也应该类似于相同的目录结构:

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

然后你的baseDir应该被添加到CLASSPATH。

答案 1 :(得分:0)

一种解决方案是创建包含相应类定义的Vendor.groovy和Address.groovy。

答案 2 :(得分:0)

I've just faced similar issue while learning Groovy. In order to run your example from command line using groovy command (tested with Groovy 2.4.12), you should:

  1. Follow directory structure of your src files as @Andrey Adamovich suggested. So, both your .groovy files should reside in business folder
  2. Open cmd, navigate to the parent of business folder, e.g. src/main/groovy for my projeсt (I have structure src/main/groovy/business).
  3. Execute the script with command groovy business/importTesting.groovy