Karaf 如何知道要加载哪些 spring 个配置文件

How does Karaf know which spring configuraton files to load

过去几个月我一直在研究基于 OSGI 和 Spring 的应用程序,直到现在我才注意到我没有指定要为 spring 加载哪些 XML 文件配置。那么 Karaf 是如何知道要加载哪些文件的呢?

我的项目是基于 Maven 的,它使用 maven-bundle-plugin 构建 OSGI 包。由于项目是基于 maven 的,因此它遵循如下所示的简单 maven 目录结构。

src/
    main/java/
    main/resources/ ---/here I'm keeping my XML configuratoin files.
pom.xml

Karaf 在内部使用 spring 动态模块 (spring dm) 来处理基于 spring 的包。它会查看包中的以下位置以检查配置文件。

META-INF/MANIFEST.MF (if Spring-Context attribute is present)
META-INF/spring (if it contains XML files)

引用http://uniqueexperiments.blogspot.com/2015/09/spring-osgi-bundle-how-does-karaf-know.html

简短的回答是它有预定义的位置,如果你不把文件放在那里它就不会加载它们。