Tapestry5:没有服务实现org.springframework.context.ApplicationContext接口

时间:2011-01-04 16:55:08

标签: spring tapestry

我正在使用Tapestry5 tapx template library按照this example发送html电子邮件。

当我运行示例时,我收到以下错误:

Caused by: java.lang.RuntimeException: No service implements the interface org.springframework.context.ApplicationContext.
        at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:560)
        at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:44)

所有的tapestry- *罐子,包括tapestry-spring-5.1.05.jar都在我的类路径中。

关于我缺少什么的任何线索?

3 个答案:

答案 0 :(得分:1)

想出来。 SpringIOC加载它在类路径上找到的所有模块。 Tapestry-spring.jar中的SpringModule尝试初始化ApplicactionContext服务,这会导致问题。

从类路径中删除tapestry-spring.jar可以解决问题。

答案 1 :(得分:0)

仔细按照网站上的说明操作;我的猜测是你没有使用特殊的TapestrySpringFilter(而不是普通的TapestryFilter)。

我看了这段代码已经有一段时间了;我不记得ApplicationContext是作为服务还是可注入对象公开的。看起来应该是这样。

答案 2 :(得分:0)

足够公平;不确定你的情况,但是你应该更详细地了解TapestrySpringFilter在设置方面做了什么,并将其复制到你的独立应用程序的启动中。你需要利用一些特殊的引导魔法。