Jrebel对Spring上下文加载的影响?

时间:2012-07-03 13:48:29

标签: spring jrebel

JRebel 5.0.0(201206080930)

拥有多模块maven项目,它正在组装成战争并在Tomcat 7上部署。 当我为projets启用JRebel-agent(生成rebel.xml)并使用代理启动Tomcat时(通过向Tomcat JVM参数添加以下行:

-Drebel.properties="..\.jrebel\jrebel.properties"
-javaagent:"D:\eclipse\plugins\org.zeroturnaround.eclipse.embedder_5.0.0.RELEASE-201206121145\jrebel\jrebel.jar"
-Drebel.workspace.path="D:\eclipse"

或在打开的对话框中按“使用JRebel代理启动”按钮)我收到Spring异常

   org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.smile.AccountHandler] is defined: expected single matching bean but found 2: [accountHandlerImpl, testAccountHandler]

这里的主要内容是testAccountHandler来自tests目录。 没有JRebel代理,一切都很好。

删除

<dir name="D:/path/to/sources/target/test-classes">
        </dir>
来自rebel.xml

没有帮助

2 个答案:

答案 0 :(得分:0)

确保在使用(我假设一些maven插件或配置)汇编war文件时,你没有在tomcat中包含测试jar文件。如果在类路径上找到类,jrebel将尝试在目标目录中找到它。

答案 1 :(得分:0)

问题出在rebel.xml中。我尝试从所有rebel.xml文件中删除对test-classes的所有引用,这会有所帮助。