在使用Maven对Spring应用程序进行单元测试后完成构建时出现问题。我注意到mvn安装没有完成,并且在运行所有单元测试后它似乎挂起。从CMD行,如果我跑mvn install
我得到的测试来完成,但构建挂起Maven在运行Spring JUnit测试后挂起
Results :
Tests run: 34, Failures: 0, Errors: 0, Skipped: 0
14:20:15,588 [Thread-3] INFO GenericApplicationContext - Closing [email protected]a3b24: startup date [Wed Apr 25 14:20:08 EDT 2012]; root of context hierarchy
14:20:15,589 [Thread-3] INFO DefaultListableBeanFactory - Destroying singletons in org.s[email protected]16c163f: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,sysModel,alarmList,resourcePool,sysParams,stationHelper,commandTracker,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
14:20:15,595 [Thread-7] INFO GenericApplicationContext - Closing [email protected]577c: startup date [Wed Apr 25 14:20:10 EDT 2012]; root of context hierarchy
14:20:15,596 [Thread-7] INFO DefaultListableBeanFactory - Destroying singletons in org.s[email protected]10952e8: defining beans [alarmDao,purgeDao,xactionDao,dataSource,sysModel,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
这就是它的结束。两个线程运行,不知道我在那里做了什么。无论如何,为了排除故障,我删除了所有测试,并让程序完全构建。如果我运行mvn install -DskipTests
,我会完成它。最后,我添加了一个基本上是system.out.println(“hello world”)的JUnit测试。我可以通过注释掉JUnit注释“@RunWith(SpringJUnit4ClassRunner.class)”来让安装运行测试并完成安装。我使用的是Spring 3.1.0.RELEASE。
构建的这个问题来自Windows7上的我的开发机器,但是基于Linux(Ubuntu 11.10)。 Hudson CI服务器使用相同的SVN存储库成功地在同一个项目上运行Maven安装,每小时构建一次。
是的,检查你是否正在做任何手动线程创建,或者如果你使用@Asynchronous或者Spring的定时器/执行程序代码。 – sdouglass 2012-04-25 19:12:57