记录一次项目引用导致的StackOverflowError
2017-05-27 15:39
1226 查看
概述下情况maven eclipse开发,jdk1.7
一个项目分成3个模块,独立打包
xxx下面是3个子项目xx.dao,xx.service,xx.proxy
调用关系是Proxy->service->dao
其中dao和Service打包和单元测试均正常,开发到Proxy进行单元测试的时候爆出如下异常
看了下junit的异常更加诡异
我甚至调了eclipse的配置文件,发现无效,又试下其他一些无效的方法,最终通过将dao和Service引入proxy才成功跑通了测试用例,记录下来,避免再犯。
补上单元测试
注意,spring-placeholder.xml配置的是自动扫描,所以xxxxServiceProxyImpl还是需要加上@Resource注解的,不然还是这个报错。
一个项目分成3个模块,独立打包
xxx下面是3个子项目xx.dao,xx.service,xx.proxy
调用关系是Proxy->service->dao
其中dao和Service打包和单元测试均正常,开发到Proxy进行单元测试的时候爆出如下异常
五月 27, 2017 3:25:25 下午 org.springframework.test.context.TestContextManager retrieveTestExecutionListeners 信息: @TestExecutionListeners is not present for class [class xx.xxProxyTest]: using defaults.
看了下junit的异常更加诡异
java.lang.StackOverflowError at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988) at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39) at org.apache.log4j.LogManager.getLogger(LogManager.java:45) at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) at org.apache.log4j.Category.<init>(Category.java:57) at org.apache.log4j.Logger.<init>(Logger.java:37) at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:43) at org.apache.log4j.LogManager.getLogger(LogManager.java:45) at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) at org.apache.log4j.Category.<init>(Category.java:57)
我甚至调了eclipse的配置文件,发现无效,又试下其他一些无效的方法,最终通过将dao和Service引入proxy才成功跑通了测试用例,记录下来,避免再犯。
补上单元测试
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "file:src/test/resources/config/spring-placeholder.xml" }) public class xxxProxyTest { @Resource xxxxServiceProxy xxxxServiceProxy; @Test public void testSelectCustaccount() { List list = xxxxServiceProxy.selectCustaccount(1); System.out.println("1111111111" + JSON.toJSONString(list)); } }
注意,spring-placeholder.xml配置的是自动扫描,所以xxxxServiceProxyImpl还是需要加上@Resource注解的,不然还是这个报错。
相关文章推荐
- 类的相互依赖导致StackOverflowError
- ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
- Android布局嵌套太深导致的错误:StackOverflowError
- 微服务间调用导致的Could not write content: Infinite recursion (StackOverflowError)问题
- 记录一次更换JDK之后导致eclipse中web项目无法正常运行
- 因为new一个类而导致:StackOverflowError
- 一个死循环导致的栈溢出实例:StackOverFlowError
- android布局太深导致的 java.lang.StackOverflowError
- 死循环导致java.lang.StackOverflowError -- 栈内存溢出
- Java 两个方法彼此调用导致java.lang.StackOverflowError
- 类的相互依赖导致StackOverflowError
- 无限递归导致StackOverflowError
- Tomcat 7.0.3x 启动时遇到StackOverflowError导致失败的解决办法
- 慎用subList:ArrayList$SubList.add导致的java.lang.StackOverflowError
- 详细分析罕见的ClassCircularityError异常导致的StackOverflowError
- Tomcat 7.0.3x 启动时遇到StackOverflowError导致失败的解决办法
- Android布局嵌套太深导致的错误:StackOverflowError
- 服务器程序问题记录OutOfMemoryError And StackOverflowError
- Android布局嵌套太深导致的错误:StackOverflowError
- 输入jsp 文字在eclipse 中出现java.lang.stackoverflowerror