我是在grails的filters里调用的Class.forName("xxx")
一直报java.lang.ClassNotFoundException,换了好几个类来试,有domain有service,全都不行,路径绝对没错,从类的包名直接拷下来再加上了类名,也注意了大小写,还特别去WEB-INF/classes里确认过是有.class文件,之后又重启,clean,但是,一执行到这个方法依然报java.lang.ClassNotFoundException
还有什么可能出问题的地方呢?应该不可能不能用的啊,或者groovy有没有别的替代方法可以实现同样目的?通过类名调用类
问题的根源出在ClassLoader上面,建议补充一下这方面的知识,看完之后你就明白是什么原因了。
在Grails中需要使用当前Thread的ClassLoader,否则,就会出现你上面的问题。这里有个简单的例子:
1 |
Class c= Class.forName(className, true, Thread.currentThread().contextClassLoader) |
除了上面的方法,你也可以用GrailsApplication接口中的getClassForName方法。如:
1 |
grailsApplication.getClassForName(params.className) |
上面的代码可以在任何能够注入grailsApplication的地方使用,要是没法注入,还可以用下面的代码:
1 |
ApplicationHolder.application.getClassForName(className) |
相关推荐
通过阅读《Grails1.1中文文档.chm》和解压后的《Grails.rar》文件,你可以获得详细的框架指南、API文档和示例代码,从而加速学习进程。对于初学者来说,这份文档将是你理解Grails 1.1及其开发流程的重要参考资料。
在深入探讨如何在Eclipse环境中使用Grails类创建工具之前,我们先简要回顾一下Grails框架及其核心特性。Grails是一款基于Groovy语言的高性能Web应用开发框架,它遵循约定优于配置的原则,极大地简化了Web应用的开发...
标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...
了解这些命令以及如何在不同环境中部署Grails应用是实际开发中的重要技能。 10. **测试**:Grails支持单元测试、集成测试和功能测试,通过`grails test`命令可以运行所有类型的测试。了解如何编写和执行测试用例,...
然而,需要注意的是,随着Spring Security的发展,Acegi已被Spring Security 3.x及更高版本所取代,虽然Grails Acegi 0.5插件仍能使用,但可能缺乏最新的安全特性与更新,因此在新项目中,推荐考虑使用Spring ...
这个插件的发布旨在帮助开发者轻松地在Grails应用中实现用户认证和权限控制,确保应用的数据和操作安全。 在了解Grails Acegi 0.5.2之前,我们首先需要知道Grails。Grails是一个基于Groovy语言的开源Web应用框架,...
4. **实践中的低采用率**:很少有开发者会在项目中自己编写标签库。 #### 五、GSP与动态标签库介绍 为了克服这些问题,Grails引入了GSP(Groovy Server Pages)以及动态标签库的概念: 1. **GSP**:GSP是Grails的...
通过阅读《Apress.Beginning.Groovy.and.Grails.From.Novice.to.Professional.Jun.2008》这本书,读者将了解Groovy的基本语法、类和对象、集合、文件操作等核心概念,以及Grails的MVC结构、GORM、命令行工具、插件...
1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认样式、语言设置等。 2. 使用方法:在GSP页面中引入FCKEditor,用户可以在网页上直接编辑富文本,如HTML代码,支持图片上传、...
在本教程中,我们将探讨如何使用GORM(Grails Object-Relational Mapping)构建Spring Boot应用程序。GORM是Grails框架的核心部分,它为开发者提供了简单、强大的数据持久化功能,支持Hibernate和MongoDB等数据库。...
Grails 1.2.2是该框架的一个重要版本,它在1.x系列中扮演了承上启下的角色,引入了许多改进和新特性,进一步提升了开发者的生产力。 首先,我们来了解一下Grails的核心特性。Grails是基于MVC(Model-View-...
grails3.2.8.7z.002 PART2
Grails开源框架 - 使用指南,版本1.0,中文文档。 Grails开源框架 - 使用指南 作者: Graeme Rocher, Marc Palmer 版本: 1.0 Copies of this document may be made for your own use and for distribution to ...
Grails模块架构图
在Grails框架中,域模型(Domain Classes)是用于表示业务实体的对象,它们通常映射到数据库中的表。通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句...
Grails 使用命令行工具进行项目的创建、运行、测试和打包,提供了热部署功能,使得开发者在开发过程中无需频繁重启服务器。部署时,通常会将Grails应用打包成WAR文件,部署在Tomcat、Jetty等Servlet容器上。 8. **...
读者将跟随作者的步伐,在友好的指导下构建一个完整的Grails应用程序。 #### 书籍评价 多位业界专家对本书给予了高度评价: - **Michael Easter**(软件作曲家,[codetojoy.blogspot.com]...
Grails 1.3.0.RC2(Release Candidate 2)是该框架的一个重要版本,代表了1.3.0系列的候选发布版,通常在正式版本发布前进行测试和调试。 这个源代码包包含的内容是Grails 1.3.0.RC2的所有核心组件和相关文件,允许...