我正在使用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都在我的类路径中。
关于我缺少什么的任何线索?
答案 0 :(得分:1)
想出来。 SpringIOC加载它在类路径上找到的所有模块。 Tapestry-spring.jar中的SpringModule尝试初始化ApplicactionContext服务,这会导致问题。
从类路径中删除tapestry-spring.jar可以解决问题。
答案 1 :(得分:0)
仔细按照网站上的说明操作;我的猜测是你没有使用特殊的TapestrySpringFilter(而不是普通的TapestryFilter)。
我看了这段代码已经有一段时间了;我不记得ApplicationContext是作为服务还是可注入对象公开的。看起来应该是这样。
答案 2 :(得分:0)
足够公平;不确定你的情况,但是你应该更详细地了解TapestrySpringFilter在设置方面做了什么,并将其复制到你的独立应用程序的启动中。你需要利用一些特殊的引导魔法。