Java Grails目标文件夹没有';t似乎正在申请';s类路径

Java Grails目标文件夹没有';t似乎正在申请';s类路径,java,reflection,grails,groovy,Java,Reflection,Grails,Groovy,我有一个grails项目,在src/java文件夹下有一些额外的java源文件。编译/运行服务器时,该目录下的文件将与所有其他groovy/grails类一起编译到项目的目标文件夹中。到目前为止还不错 但是,当我尝试使用反射(确切地说是Class.forName)加载一个java源文件(来自src/java)时,会抛出一个ClassNotFoundException。整件事的独特之处在于,如果我将同一个类从项目的目标/文件夹复制到以下位置(在windows上): \.grails\1.2.2\p

我有一个grails项目,在src/java文件夹下有一些额外的java源文件。编译/运行服务器时,该目录下的文件将与所有其他groovy/grails类一起编译到项目的目标文件夹中。到目前为止还不错

但是,当我尝试使用反射(确切地说是Class.forName)加载一个java源文件(来自src/java)时,会抛出一个ClassNotFoundException。整件事的独特之处在于,如果我将同一个类从项目的目标/文件夹复制到以下位置(在windows上):

\.grails\1.2.2\projects\\resources

然后不会抛出异常,相应的类也会很好地加载。这似乎向我表明,集成的grails服务器只查看用户动态生成的项目文件夹中的类,而不是实际项目的目标文件夹


我的理解正确吗?有没有办法强制grails将某些类文件从目标/文件夹复制到用户目录中的resources文件夹中?使用反射加载类文件有不同的方法吗?我正在考虑使用grailsApplication的类加载器,但这似乎也不起作用。任何提示都是非常受欢迎的。提前多谢

Web应用程序使用动态类加载器,因此您需要使用上下文类加载器:

def clazz = Class.forName(className, true, Thread.currentThread().contextClassLoader)

非常感谢。这解决了问题!