我在eclipse環境中使用groovy和java來開發UI應用程序。我想我的代碼中使用Groovy類加載器,所以我使用Groovy的獲取類加載器保持這樣的傳統方式:Groovy類加載器問題
def str = new File("C:/myGroovyFile.groovy").getText()
def myclass = getClass();
println myclass //facing issue here
ClassLoader parent = myclass.getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
Class groovyClass = loader.parseClass(str);
在這裏,我所面臨的問題是的getClass()被調用時在eclipse環境中不返回GroovyCOnsole腳本,而是返回調用時返回null的getClassLoader()時返回的java.lang.class。
我想要得到的getClass常規控制檯腳本的保持(),這反過來又可以動態加載我位於C常規文件有用:\
請告訴我,我怎麼能解決這個問題。我試圖把這個代碼放在一個名爲initialize()的方法中。只要此代碼位於主類中,它就可以工作,但是當我將上述代碼放在自定義用戶定義的函數中時,它不起作用。爲什麼這樣?
非常感謝!到目前爲止,我已經通過了自定義方法的引用,但我實際上很想知道爲什麼我不能在單獨的方法中進行類加載。這個問題的目的是爲了得到同樣的答案:) – 2011-05-24 05:30:28
如果你還沒有這樣做,請檢查我上面編輯的四個鏈接,或者發佈到Groovy用戶列表中,Jochen,Guillaume(Groovy的核心開發人員)或其他Groovy「重」會爲你解答: – virtualeyes 2011-05-24 07:56:30