2011-09-29 29 views
1

我想知道如何在Eclipse中運行Groovy時處理程序參數。它不像命令行那樣直截了當,而且我很難弄明白。我使用Eclipse 3.5。我跑的配置有這些參數都在同一行:使用Groovy Eclipse插件v2處理程序參數

--classpath "${workspace_loc:/GroovyProject};${workspace_loc:/GroovyProject}" 
--main groovy.ui.GroovyMain "C:\Temp\Workspace\GroovyProject\GroovyTest.groovy " 
argtest1 
argtest2 
argtest3 

我使用的嘗試,使這項工作的腳本是這樣的:

// GroovyTest.groovy 
class GroovyTest {  
    static main(args) { 
    println "hello, world" 
    for (arg in this.args) { 
     println "Argument:" + arg; 
    }  
    } 
} 

我得到的錯誤是:

hello, world 
Caught: groovy.lang.MissingPropertyException: No such property: args 
for class: GroovyTest at GroovyTest.main(GroovyTest.groovy:5) 

回答

1

你有沒有az不需要thisfor (arg in this.args)行。

this.args表示您有一個GroovyTest對象的實例,並引用其args字段。在這種情況下,args是一個方法參數,因此您必須將其簡稱爲args

+0

就是這樣。非常感謝你!我從另一個網站複製了hello world示例,所以我沒有質疑它。所以,如果我擴展GroovyTest對象,那麼我將父類的參數稱爲this.args吧? – djangofan

+0

@djangofan:不,這個關鍵字是用來引用當前對象(調用它的方法的對象)。您的靜態主要方法是一種不能使用的類方法。您可以在http://download.oracle.com/javase/tutorial/java/javaOO/thiskey.html和http: /download.oracle.com/javase/tutorial/java/javaOO/classvars.html –