2011-12-02 97 views
0

我構建了一個使用spring庫和context-application.xml文件(使用編組來解析REST響應)的庫(一堆類)。Spring上下文配置文件問題

在這一點上,我將jar包含在我的項目中,我試圖調用其中一個類,但它告訴我context-application.xml文件丟失了。

我試圖加載使用應用程序上下文:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application-context.xml"); 

這不是很清楚(我在Spring框架是一個新手),在那裏把我的罐子使用此文件。

可能嗎?任何人都可以幫我嗎?

+0

解決:ApplicationContext中的applicationContext =新的ClassPathXmlApplicationContext( 「COM/kipcast /數據模型/藥物/露天-context.xml中」); –

回答

2

它需要位於CLASSPATH的根目錄中。在你的情況下 - JAR文件的根目錄。如果您使用的是maven - 它是/src/main/resources文件夾。

1

如果我理解正確,您希望使用來自jar文件之外的jar文件以及包含jar文件的主項目中的XML?如果是這樣的話,這不是一個好的做法,因爲在這種情況下,你的jar文件將取決於應用程序,因此不會真的可再分發,所以擁有jar文件有什麼意義?如果你看看CXF JAX-RS的實現,這是一個很好的例子,它可以很好地解決它。它有一個相反的方法。 CXF有許多自己的spring xml文件,需要像這樣從主webapp中包含這些文件。

<import resource="classpath:META-INF/cxf/cxf.xml"/> 
    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 

這樣你就可以在同一個XML文件中定義你的主要webapp類和你的jar類。一個完整的例子是在這裏:

http://cxf.apache.org/docs/jax-rs.html#JAX-RS-JAXRSandSpringAOP