预制条件: win7 32位的系统
spring配置文件:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="org.lost.dao.mapper" />
......
</bean>
工程文件路径深度:org.lost.dao.mapper.package.class,org.lost.dao.mapper.package.package.class(mapper下模块比较多,10+)
问题描述:
在 32位系统下,启动会报错:
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException
在64位系统下,可以正常启动。
32位系统下,修改配置文件:value="org.lost.dao.mapper.a,org.lost.dao.mapper.b,org.lost.dao.mapper.c",这样是可以正常启动的,但是当value值分配超过 6个模块的时候,启动报同样的错误(FatalBeanException)。
试过的如下解决方法,但是没成功:
1. value="org.lost.dao.mapper.*",启动报错(FatalBeanException)
2.value="org.lost.dao.mapper.*.*",value="org.lost.dao.mapper.(\\.\\w+)*",value="org.lost.dao.mapper.(\.\w+)*",value= " ‘org.lost.dao.mapper.(\.\w+)* ’ ",value= " #{‘org.lost.dao.mapper.(\.\w+)* ’} ",
<property name="basePackage" /><value></value>org.lost.dao.mapper.(\.\w+)*</property>
启动成功,但是运行项目找不到相关的 bean,错误:Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'TestMapper' is defined
目前问题,是在32位系统下,跑项目会有问题。
寻求 32位系统下的解决方法。
如果是报缺少类的问题,肯定是缺少某个类,跟系统多少位没关系.
可能跟你的应用服务器有关系
另外,提供下我现在的配置方法
对于你说的启动成功但找不到类的问题,说明下:你一定要保证加载顺序:
1. 先回载dao类,再加载service类,再加载controller类,顺序不能乱
2. 举例:
controller必须在service下面.
PS:你的 TestMapper 是什么类?
我的spring3.1.2
mybatis-spring-1.1.1.jar
mybatis-3.1.1.jar
没出现你的问题
另外你的虚拟机装的32的还是64的
试试加上jvm参数 -Xss2m
[list]
[*]
[/list]
[list]
[*]123123
[*]123123123123
[/list]