我在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