struts2+ireport学习小结(一)

     因为项目需求,才开始接触报表打印控件,在学习ireport+jasper以前还接触过快逸报表,但是是收费的,我觉得用收费的东西总是不太好,所以就开始寻找免费的报表打印控件。
     刚刚接触打印控件,基本上就是小白一个,环境搭建就困扰了我很长时间,网上虽说有很多例子,但是项目环境都有差别。我的项目全部卡下面这个错误上

java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object; 

    在网上寻找答案,但是只见有问的,没见有回答的,急死我了。我在搭建环境时,寻找groovy jar文件使用的是1.0版,别的jar文件我都是下载的最新版本,只有这个存在疑问,而问题也发生在这个包上。但我却找不到它的官方网站。我参照新旧版本的ireport demo的报表程序,发现,旧版本的项目是不需要这个包的,于是想到这个包会不会在ireport源文件中呢,结果我在ireport-src中找到了groovy的1.5版(其实我们需要的大部分jar包都可以在ireport-src.war中找到,而且不会出现版本错误问题),部署到项目中,错误发生了变化
(class: groovy/runtime/metaclass/java/util/HashMapMetaClass, method: super$2$invokeMethod signature: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;ZZ)

出现了类似于上面的错误。对于上面这个错误网上是由解释的
引用
看了这个错误:我们根据错误提示信息都会以为是japserreport用到了groovy包导致的错误。所以一定会找groovy包的原因。

其实我们更细致一点groovy/runtime/metaclass/java/util/HashMapMetaClass

根据这个路径我们会发现这个类在json.jar包下面,而之所以出现这个原因是json.jar版本太低了。升级json.jar版本即可。

参考老外文章:http://jira.codehaus.org/browse/GROOVY-3802


就按他说的更新了json就OK了
json下载地址 http://sourceforge.net/projects/json-lib/files/

其他包的下载也可在http://sourceforge.net/中找到,只要用关键字搜查下就可以找到,如果不能下载,注册一个账号就ok,而且里面包括各个版本。

只要怎么使用ireport网上资料多多,不再罗嗦了,下面提供个demo。

demo中lib文件剪切出来了,分压3个压缩卷压缩的,下载时把3个压缩卷都下载了解压后,放到demo中就ok了

下面只提供了第一个,其余2个在下一篇中http://hanxin830311.iteye.com/admin/blogs/763628

你可能感兴趣的:(json,.net,groovy)