2012-02-06 3 views
0

私は、Webコンテンツ内のspring.xmlファイルでspringを使用するjavaアプリケーションを持っています。私は図書館(バンドル)に住んでいるXMLファイルをインポートすることspring.xmlでバンドルからxmlをインポートする

ApplicationContext context = new ClassPathXmlApplicationContext("WEB-INF/spring-conf.xml"); 
WService ws = (WService) context.getBean("service"); 

私は外部のライブラリとして私のプロジェクトに入れている:私は私のJavaクラスのコードのこの部分を持っています。

<import resource="classpath:/org/bundle/spring2.xml" /> 

、それは動作しますがspring2.xmlで、バンドルでもあります。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
    <value>../properties/environment.properties</value> 
    </property> 
</bean> 
<import resource="../commons/datasources.xml"></import> 
<import resource="../commons/context-resources.xml"></import> 

、彼らがバンドル内ではなく、私のWebContentに住んでいるので、私はこれらのXMLファイルを見つけることができません。 spring-conf.xmlの先頭から他のXMLファイルの位置をどのように指定できますか? これを行う別の方法がある場合は、歓迎します。 ありがとうございます。

答えて

1

はあなたのspring-conf.xmlにてご自身でXMLSをインポートしてみてください。

<import resource="classpath:<PACKAGE_PATH>/datasources.xml" /> 
<import resource="classpath:<PACKAGE_PATH>/context-resources.xml" /> 

+0

これは機能します。ありがとうございます –

+0

複数のxmlファイルを1行にインポートすることは可能ですか?それらがすべて共通のパッケージの下にある場合、50行のインポートを書く代わりに、ワイルドカードを使用できます(* resource.xmlはAresourse.xml、Bresourse.xmlなどをインポートします)。 –

1

:-)正しい値でPACKAGE_PATHを交換しますが、クラスパスプレフィックスを使用するには、これらの輸入を編集しようとしましたか?

<import resource="classpath:/org/commons/datasources.xml"/> 
<import resource="classpath:/org/commons/context-resources.xml"/> 

この方法は、このライブラリを使用するすべてのユーザーが利用できるようにする必要があります。

+0

それは動作します。どうもありがとうございました –

関連する問題