2010-07-19 59 views
2

我正在使用另一个应用程序的服务,因为一切都已经完成并完成了。@autowired @ qualifier指向jar文件应用程序中的服务

我的应用程序是使用应用程序jar中的接口类。 但是这个代码被调用时似乎有些问题。

BeanFactory factory = new ClassPathXmlApplicationContext("/Context-Controller.xml"); 

即使我Context-Controller.xml有这个代码

<context:component-scan base-package="com.package" /> 

我的错误。

所致: org.springframework.beans.factory.NoSuchBeanDefinitionException: 类型 [com.package.ServiceIamUsing]是 无独特豆定义: 类型[接口 com.package的不合格依赖。 ServiceIamUsing]:预计 至少有1个匹配的豆

这是我如何自动装配它在我的applciation。

public class MyAppDao implements IMyAppDao { 

@Autowired 
@Qualifier("serviceIamUsing") 
private ServiceIamUsing serviceIamUsing; 
    //More codes here 

     } 
+0

应用程序如何打包?你在servlet容器内运行吗? – skaffman 2010-07-19 15:20:28

+0

即将使用的应用程序jar打包在jar文件中。 并且没有在servlet容器上运行它 – jaded 2010-07-19 15:38:12

+0

我有同样的问题,它似乎与jar不包含目录,仅包含文件有关。不知道如何告诉maven在安装目标 – Kartoch 2011-01-27 16:55:30

回答

0

周杰伦,请尝试以下操作: - 消除了正斜杠“/” - 在你的应用程序上下文XML文件,尝试从外部JAR文件导入应用程序上下文,如果有任何 - > import resource =“classpath *:/ META-INF/spring/*。xml”

让我知道它是否工作。

+0

jenue期间打开目录创建,它仍然有相同的错误。它可能看起来像是自动装配的jar文件里面的所有java文件都希望在我的context.xml中有一个bean声明。 – jaded 2010-07-20 06:14:41

0

是否有,实际上,在罐子里的ServiceIamUsing的实例是 Spring-annotated(@Component,@Service等)?这可能是事实,但我想澄清一下。

如果不是,该jar是否公开了一个可导入的Spring上下文文件,从而将其他bean添加到上下文中进行自动装配?

相关问题