gpt4 book ai didi

java - Grails 目标文件夹似乎不在应用程序的类路径上

转载 作者:行者123 更新时间:2023-12-01 16:05:39 25 4
gpt4 key购买 nike

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

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

\.grails\1.2.2\projects\ \resources

那么就不会抛出异常,并且相应的类也可以正常加载。在我看来,这似乎表明集成的 grails 服务器只查看用户动态生成的项目文件夹中的类,而不是实际项目的目标文件夹。

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

最佳答案

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

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

关于java - Grails 目标文件夹似乎不在应用程序的类路径上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2695855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com