2010-07-19 61 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添加到上下文中進行自動裝配?

相關問題