奇葩问题001:Idea无法正常编译(代码没有问题)【原因已找到】

最近遇到了一个奇葩的问题,在项目开发中,一些同事的idea突然就编译不过去了,点击【RUN】会报出下面的错误:

org.springframework.beans.factory.support.DefaultListableBeanFactory
-->Bean creation exception on FactoryBean type check: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sysTestMapper' defined in URL 
[jar:file:/E:/NewERP1/jiankunking/jiankunking-web/target/jiankunking-web-1.0-SNAPSHOT/WEB-INFb/jiankunking-system-1.0-SNAPSHOT.jar!/org/jiankunking/system/member/sysTestMapper.class]: 
Initialization of bean failed; nested exception is java.lang.StackOverflowError 

点击【debug】运行会提示下面的错误:

org.springframework.beans.factory.support.DefaultListableBeanFactory
-->Bean creation exception on FactoryBean type check: org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'sysTestMapper' defined in URL 
[jar:file:/E:/NewERP1/jiankunking/jiankunking-web/target/jiankunking-web-1.0-SNAPSHOT/WEB-INFb/jiankunking-system-1.0-SNAPSHOT.jar!/org/jiankunking/system/member/sysTestMapper.class]: 
Unsatisfied dependency expressed through bean property 'sqlSessionFactory': :
Error creating bean with name 'sqlSessionFactory' defined in URL 
[jar:file:/E:/NewERP1/jiankunking/jiankunking-web/target/jiankunking-web-1.0-SNAPSHOT/WEB-INFb/jiankunking-web-1.0-SNAPSHOT.jar!/spring/spring-mybatis.xml]: 
Invocation of init method failed; 
nested exception is java.lang.NoClassDefFoundError:
Could not initialize class org.apache.xpath.compiler.FunctionTable; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in URL 
[jar:file:/E:/NewERP1/jiankunking/jiankunking-web/target/jiankunking-web-1.0-SNAPSHOT/WEB-INFb/jiankunking-web-1.0-SNAPSHOT.jar!/spring/spring-mybatis.xml]:
Invocation of init method failed; 
nested exception is java.lang.NoClassDefFoundError: 
Could not initialize class org.apache.xpath.compiler.FunctionTable 

找过各种各种方式来处理这个问题,最后发现在debug模式下,在:
org.springframework.beans.factory.support.DefaultListableBeanFactory
spring的DefaultListableBeanFactory类中每个throw 异常的地方打上断点,在debug模式下就可以跑起来了。
无语中。。。。竟然可以这样解决问题。

过了一段时间,这种方式也不行了,又是会重启idea问题就消失了。

但问题还是不时的出现,代码都是一样的,而且代码打包后,在tomcat里面是可以正常运行的,而问题只有几个同事的开发环境中会出现,所以,应该是环境问题,卸载Tomcat、JDK,重装之后问题消失。

—————————————————————————问题再次出现,原因查找—————————————————————————

今天同事又遇到这个问题了,在cmd窗口下:

java -version

看到的jdk版本是1.8

javac -version

看到的版本是1.7

需要注意编译jdk版本和运行时的jdk版本,运行时jdk版本不能小于编译时候的jdk版本。

在idea中用的版本是jdk1.7.0_69
这里写图片描述
从360中可以看到同事的环境中安装了很多jdk
这里写图片描述

我从360中卸载JDK 8还有JDK 1.7.0_69,然后重新设置一下系统环境中的环境变量,在idea中重新选一下jdk即可

—————————————————————————问题解决—————————————————————————

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值