您的位置:首页 > 编程语言 > Java开发

使用spring web flow遇到的问题-1

2016-02-13 22:01 344 查看
spring web flow 异常:java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.isPresent(Ljava/lang/String;Ljava/l

java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.forName(Ljava/lang/String;Ljava/l

java的半个新手,没有读过任何开源项目的源码。在使用spring web flow时,遇到了很多问题,记录下来。先向stackoverflow的牛人们致敬一下。

第一个问题:

刚开始看到这个异常,非常懵。我仅仅是定义了一个flow,里面包含了没几个state,细节的东西还没写,刚编译就爆了个这样的异常。沿着异常路径看了一会,还是google了。平常没有阅读英文文档的习惯,对于api或者参考手册一般都是找汉化的看。因此,第一次google的时候,找的全都是国内的论坛。

然而,很失望,看到的包括csdn也只是说重启重装之类的,显然不是这么回事。

后来看到一个叫龙遥的哥们也问了同样的问题,这哥们最后对csdn表示非常失望。。。因为没有一个能沾到边的答案。。。最后他问题解决了,附了一个链接。

读了他的文章之后,知道是版本的问题,同时看到他最后对国内论坛的吐槽,我开始下定决心去stackoverflow看一看。

一个叫JamesB的说,他可以肯定这个是版本的问题。 因为ClassUtils是属于spring-core这个包的,而且spring3之后,这个方法已经被废弃,一定是有个项目版本过低,调用了老旧的spring方法。

去spring的官网找API查。值得注意的是,最新的API并没有提到被废弃的方法,而是仅仅写了新的方法。去查3.2的API(官网现存的最老的一个版本),就可以看到ClassUtils的forName(String)方法在3.0中被废弃,isPresent(String)方法在2.5中被废弃。问题找到了。

3.2.16 API ClassUtils链接

我项目最开始用的bing和webflow两个spring web flow依赖包都是2.1版本,在pom中更新到2.4之后,这个问题就没有了。

我的eclipse里面并没有龙遥文章中maven依赖图那个功能,因此为了更加方便查阅依赖情况,可以安装相关插件,能直接看到依赖情况。链接2中的依赖图很清晰。

原文链接1stackoverflow

原文链接2csdn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: