2011-03-07 86 views
1

我在一個文件名爲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

回答

3

我建議你可以選用一些構建工具像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

0

一個解決方案是創建包含各自類定義的Vendor.groovy和Address.groovy。

0

我剛剛在學習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