【发布时间】:2014-12-07 04:56:26
【问题描述】:
我有一个运行良好的 java webapp,但今天我尝试开始使用 spring 进行依赖注入。该应用程序应该在 Jetty Server 上运行,但我遇到了这个问题。
当我尝试使用任何包含 spring 依赖项的 servlet 时,我收到此错误:
java.lang.IllegalStateException: No resource at valueService
at org.eclipse.jetty.annotations.ResourceAnnotationHandler.handleMethod(ResourceAnnotationHandler.java:345)
at org.eclipse.jetty.annotations.ResourceAnnotationHandler.doHandle(ResourceAnnotationHandler.java:66)
at org.eclipse.jetty.annotations.AnnotationIntrospector$AbstractIntrospectableAnnotationHandler.handle(ResourceAnnotationHandler.java:345)
valueService 是 HttpServlet 中第一个依赖的名称,用 spring 注释如下:
@Resource(name="valueService")
protected ValueService valueService;
在我的应用程序上下文中定义为:
<bean id="valueService" class="com.nimbits.server.transaction.value.service.ValueServiceImpl" />
所以,码头是开源的,所以当我查看码头服务器 ResourceAnnotationHandler.java:345 中的代码时,它正在这样做:
else if (!Util.isEnvEntryType(paramType))
{
//if this is an env-entry type resource and there is no value bound for it, it isn't
//an error, it just means that perhaps the code will use a default value instead
// JavaEE Spec. sec 5.4.1.3
throw new IllegalStateException("No resource at "+(mappedName==null?name:mappedName));
}
所以这是我的错误。问题:任何码头专家都知道为什么码头正在处理我的弹簧注释并抛出这个异常。有办法满足吗?还是停下来?
谢谢,真的卡住了。
本
【问题讨论】:
-
什么版本的 Jetty?
-
我在下面修复了这个问题 - 但我在 8 号和 9 号码头重现了这个问题。
标签: java spring maven spring-mvc jetty